boolean (@NotNull Map<String, List<String>> dependencyExportedPackages, @NotNull Set<String> importedPackageNames, @NotNull String contextModuleName) { for (Map.Entry<String, List<String>> entry : dependencyExportedPackages.entrySet()) { String exportedPackageName = entry.getKey(); List<String> exportedToModules = entry.getValue(); if (!exportedToModules.isEmpty() && !exportedToModules.contains(contextModuleName)) { continue; // exported to some other modules but not to this one } if (importedPackageNames.contains(exportedPackageName)) { return false; } } return true; }