List<String> (@NotNull Project project, @NotNull Set<? extends Module> contextModules) { List<String> relevantPaths = new ArrayList<>(); List<String> otherPaths = new ArrayList<>(); final ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(project).getFileIndex(); PropertiesFileProcessor processor = (baseName, propertiesFile) -> { if (propertiesFile instanceof XmlPropertiesFile) { return true; } VirtualFile virtualFile = propertiesFile.getVirtualFile(); if (projectFileIndex.isInContent(virtualFile)) { String path = FileUtil.toSystemDependentName(virtualFile.getPath()); Module module = ModuleUtilCore.findModuleForFile(virtualFile, project); boolean relevant = contextModules.contains(module); (relevant ? relevantPaths : otherPaths).add(path); } return true; }; if (contextModules.isEmpty()) { PropertiesReferenceManager.getInstance(project).processAllPropertiesFiles(processor); } else { GlobalSearchScope scope = GlobalSearchScope.union(ContainerUtil.map(contextModules, Module::getModuleWithDependenciesScope)); PropertiesReferenceManager.getInstance(project).processPropertiesFiles(scope, processor, BundleNameEvaluator.DEFAULT); } Collections.sort(relevantPaths); Collections.sort(otherPaths); relevantPaths.addAll(otherPaths); return relevantPaths; }