@ApiStatus.Internal
  @ApiStatus.Experimental
  @RequiresBlockingContext
  @RequiresReadLock
  public @Nullable Document getDocument(@NotNull VirtualFile file, @NotNull Project preferredProject) {
    try (AccessToken ignored = ProjectLocator.withPreferredProject(file, preferredProject)) {
      return getDocument(file);
    }
  }
@ApiStatus.Internal
  @ApiStatus.Experimental
  @RequiresBlockingContext
  @RequiresReadLock
  public @Nullable Document getDocument(@NotNull VirtualFile file, @NotNull Project preferredProject)