private @NotNull List<Pair<MavenProject, MavenProjectChanges>> mapToListWithPairs() {
    var existingFiles = new ConcurrentHashMap<File, Boolean>();
    Predicate<File> fileExistsPredicate = f -> {
      return existingFiles.computeIfAbsent(f, file -> {
        return MavenProjectsManagerEx.getInstance(myTree.getProject()).projectFileExists(file);
      });
    };

    ParallelRunner.getInstance(myTree.getProject()).runInParallelBlocking(updatedProjectsWithChanges.keySet(), mavenProject -> {
      mavenProject.collectProblems(fileExistsPredicate); // need for fill problem cache
      return null;
    });

    ArrayList<Pair<MavenProject, MavenProjectChanges>> result = new ArrayList<>(updatedProjectsWithChanges.size());
    for (Map.Entry<MavenProject, MavenProjectChanges> entry : updatedProjectsWithChanges.entrySet()) {
      result.add(Pair.create(entry.getKey(), entry.getValue()));
    }
    return result;
  }
private @NotNull List<Pair<MavenProject, MavenProjectChanges>> mapToListWithPairs()