@RequiresBackgroundThread
  public static VcsHistorySession collectSession(@NotNull AbstractVcs vcs,
                                                 @NotNull FilePath filePath,
                                                 @Nullable VcsRevisionNumber revision) throws VcsException {
    VcsCachingHistory history = new VcsCachingHistory(vcs, Objects.requireNonNull(vcs.getVcsHistoryProvider()), vcs.getDiffProvider());
    CollectingHistorySessionConsumer partner = new CollectingHistorySessionConsumer();
    history.reportHistory(filePath, revision, vcs.getKeyInstanceMethod(), partner, true);
    partner.check();
    return partner.getSession();
  }
@RequiresBackgroundThread
  public static VcsHistorySession collectSession(@NotNull AbstractVcs vcs,
                                                 @NotNull FilePath filePath,
                                                 @Nullable VcsRevisionNumber revision)