@RequiresEdt
  public static void collectInBackground(@NotNull AbstractVcs vcs,
                                         @NotNull FilePath filePath, @NotNull VcsRevisionNumber startRevisionNumber,
                                         @NotNull VcsHistorySessionConsumer partner) {
    if (!(vcs.getVcsHistoryProvider() instanceof VcsHistoryProviderEx)) throw new UnsupportedOperationException();

    BackgroundableActionLock lock = getHistorySessionLock(vcs, filePath, startRevisionNumber);

    VcsCachingHistory history = new VcsCachingHistory(vcs, Objects.requireNonNull(vcs.getVcsHistoryProvider()), vcs.getDiffProvider());
    history.reportHistoryInBackground(filePath, startRevisionNumber, vcs.getKeyInstanceMethod(), lock, partner, false);
  }
@RequiresEdt
  public static void collectInBackground(@NotNull AbstractVcs vcs,
                                         @NotNull FilePath filePath, @NotNull VcsRevisionNumber startRevisionNumber,
                                         @NotNull VcsHistorySessionConsumer partner)