public static PropertiesFile getPropertiesFile(@NotNull PsiFile file) {
    CachedValuesManager manager = CachedValuesManager.getManager(file.getProject());
    if (file instanceof XmlFile) {
      return manager.getCachedValue(file, KEY,
                                    () -> {
                                      PropertiesFile value =
                                        XmlPropertiesIndex.isPropertiesFile((XmlFile)file)
                                        ? new XmlPropertiesFileImpl((XmlFile)file)
                                        : null;
                                      return CachedValueProvider.Result.create(value, file);
                                    }, false
      );
    }
    return null;
  }
public static PropertiesFile getPropertiesFile(@NotNull PsiFile file)