public IProperty resolveToProperty(@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;
  }
public IProperty resolveToProperty(@NotNull StringDescriptor descriptor, @Nullable Locale locale)