@Override
  public Data getFileData(@Nullable Project project,
                          @NotNull VirtualFile file) {
    return getOrCalculateAndCache(project, file, calculator).get();
  }
@Override
  public Data getFileData(@Nullable Project project,
                          @NotNull VirtualFile file)