602 | | toDownload.removeIf(info -> !missingRequiredPlugin.contains(info.getName())); |
| 602 | toDownload.removeIf(info -> !missingRequiredPlugin.contains(info.getName()) |
| 603 | && !missingRequiredPlugin.contains(info.provides) || !info.isForCurrentPlatform()); |
| 604 | // Remove duplicates |
| 605 | Set<String> possibleDuplicates = toDownload.parallelStream() |
| 606 | .collect(Collectors.groupingBy(i -> i.provides == null ? i.getName() : i.provides, Collectors.counting())) |
| 607 | .entrySet().stream().filter(e -> e.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toSet()); |
| 608 | toDownload.removeIf(i -> possibleDuplicates.contains(i.getName()) || possibleDuplicates.contains(i.provides)); |