@Override
  public @Nullable Document getCachedDocument(@NotNull VirtualFile file) {
    Document hard = file.getUserData(HARD_REF_TO_DOCUMENT_KEY);
    return hard != null ? hard : getDocumentFromCache(file);
  }
@Override
  public @Nullable Document getCachedDocument(@NotNull VirtualFile file)