ProcessData (@NotNull Project project, @NotNull Set<MavenDomProjectModel> models, @NotNull Function<MavenDomProjectModel, Set<MavenDomDependency>> funOccurrences, boolean hasExclusions) { if (models.size() == 0) return null; if (models.size() == 1 && !hasExclusions) { MavenDomProjectModel model = models.iterator().next(); if (funOccurrences.fun(model).size() == 0) { return new ProcessData(model, Collections.emptySet(), false); } } SelectMavenProjectDialog dialog = new SelectMavenProjectDialog(project, models, funOccurrences, hasExclusions); dialog.show(); if (dialog.getExitCode() == DialogWrapper.OK_EXIT_CODE) { MavenDomProjectModel model = dialog.getSelectedProject(); return new ProcessData(model, dialog.isReplaceAllOccurrences() ? funOccurrences.fun(model) : Collections.emptySet(), dialog.isExtractExclusions()); } return null; }