List<IProperty> (@NotNull final Project project, @NotNull final String key) { GlobalSearchScope scope = GlobalSearchScope.allScope(project); List<IProperty> properties = new ArrayList<>(PropertyKeyIndex.getInstance().getProperties(key, project, scope)); final Set<VirtualFile> files = new HashSet<>(); FileBasedIndex.getInstance().processValues(XmlPropertiesIndex.NAME, new XmlPropertiesIndex.Key(key), null, (file, value) -> { if (files.add(file)) { PsiFile psiFile = PsiManager.getInstance(project).findFile(file); if (psiFile != null) { PropertiesFile propertiesFile = XmlPropertiesFileImpl.getPropertiesFile(psiFile); if (propertiesFile != null) { properties.addAll(propertiesFile.findPropertiesByKey(key)); } } } return true; }, scope); return properties; }