IProperty (@NotNull StringDescriptor descriptor, @Nullable Locale locale) { String propFileName = descriptor.getDottedBundleName(); Pair<Locale, String> cacheKey = Pair.create(locale, propFileName); PropertiesFile propertiesFile; synchronized (myPropertiesFileCache) { propertiesFile = myPropertiesFileCache.get(cacheKey); } if (propertiesFile == null || !propertiesFile.getContainingFile().isValid()) { try (AccessToken ignore = SlowOperations.knownIssue("IDEA-307701, EA-723514")) { propertiesFile = PropertiesUtilBase.getPropertiesFile(propFileName, myModule, locale); synchronized (myPropertiesFileCache) { if (propertiesFile != null) { myPropertiesFileCache.put(cacheKey, propertiesFile); } } } } if (propertiesFile != null) { try (AccessToken ignore = SlowOperations.knownIssue("IDEA-307701, EA-254373")) { final IProperty propertyByKey = propertiesFile.findPropertyByKey(descriptor.getKey()); if (propertyByKey != null) { return propertyByKey; } } } return null; }