ModuleImportDataContext (@NotNull Map<MavenProject, MavenProjectChanges> projectsToImportWithChanges) { boolean hasChanges = false; List<MavenProjectImportData> allModules = new ArrayList<>(); Map<MavenId, MavenProjectImportData> moduleImportDataByMavenId = new TreeMap<>(Comparator.comparing(MavenId::getKey)); for (var each : projectsToImportWithChanges.entrySet()) { MavenProject project = each.getKey(); MavenProjectChanges changes = each.getValue(); String moduleName = getModuleName(project); if (StringUtil.isEmpty(moduleName)) { MavenLog.LOG.warn("[import context] empty module name for project " + project); continue; } MavenProjectImportData mavenProjectImportData = getModuleImportData(project, moduleName, changes); if (changes.hasChanges()) { hasChanges = true; } moduleImportDataByMavenId.put(project.getMavenId(), mavenProjectImportData); allModules.add(mavenProjectImportData); } return new ModuleImportDataContext(allModules, myMavenProjectToModuleName, moduleImportDataByMavenId, hasChanges); }