@NotNull
  @Override
  public List<String> dumpSortedPushedProperties(@NotNull VirtualFile file) {
    if (file.isDirectory()) {
      throw new IllegalArgumentException("file " + file + " is expected to be a regular file");
    }
    if (!StubUpdatingIndex.USE_SNAPSHOT_MAPPINGS) {
      return Collections.emptyList();
    }

    List<String> properties = null;
    for (FilePropertyPusher<?> extension : FilePropertyPusher.EP_NAME.getExtensionList()) {
      Object property;
      VirtualFile vfsObject;
      if (extension.pushDirectoriesOnly()) {
        vfsObject = file.getParent();
      }
      else {
        vfsObject = file;
      }
      property = extension.getFilePropertyKey().getPersistentValue(vfsObject);
      if (property != null) {
        if (properties == null) {
          properties = new ArrayList<>();
        }
        properties.add(property.toString());
      }
    }

    if (properties == null) {
      return Collections.emptyList();
    }

    properties.sort(null);
    return properties;
  }
@NotNull
  @Override
  public List<String> dumpSortedPushedProperties(@NotNull VirtualFile file)