@Nullable
    private static ProcessData getProcessData(@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;
    }
@Nullable
    private static ProcessData getProcessData(@NotNull Project project,

                                              @NotNull Set<MavenDomProjectModel> models,
                                              @NotNull Function<MavenDomProjectModel, Set<MavenDomDependency>> funOccurrences,
                                              boolean hasExclusions)