private static @Nullable FilePath getBlobPathInRevision(@NotNull Project project,
                                                          @NotNull VirtualFile root,
                                                          @NotNull FilePath path,
                                                          @Nullable String blob,
                                                          @Nullable VcsRevisionNumber revision) {
    if (blob == null || revision == null) return null;

    // fast check if file was not renamed
    FilePath revisionPath = doGetBlobPathInRevision(project, root, blob, revision, path);
    if (revisionPath != null) return revisionPath;

    return doGetBlobPathInRevision(project, root, blob, revision, null);
  }
private static @Nullable FilePath getBlobPathInRevision(@NotNull Project project,
                                                          @NotNull VirtualFile root,
                                                          @NotNull FilePath path,
                                                          @Nullable String blob,
                                                          @Nullable VcsRevisionNumber revision)