String (@NotNull Map<Module, VirtualFile> moduleDescriptors) { if (moduleDescriptors.isEmpty()) return null; Set<String> moduleSourcePathParts = new SmartHashSet<>(); for (var entry : moduleDescriptors.entrySet()) { String descriptorParentPath = PathUtil.getParentPath(entry.getValue().getPath()); VirtualFile modulePath = ContainerUtil.find(ModuleRootManager.getInstance(entry.getKey()).getContentRoots(), f -> descriptorParentPath.contains(f.getName())); if (modulePath == null) return null; String moduleSourcePathPart = descriptorParentPath.replace(modulePath.getName(), "*"); moduleSourcePathParts.add(moduleSourcePathPart); } return String.join(File.pathSeparator, moduleSourcePathParts); }