@RequiresEdt
  public static void collectInBackground(@NotNull AbstractVcs vcs,
                                         @NotNull FilePath filePath,
                                         @NotNull VcsBackgroundableActions actionKey,
                                         @NotNull com.intellij.util.Consumer<? super VcsHistorySession> consumer) {
    VcsCachingHistory history = new VcsCachingHistory(vcs, Objects.requireNonNull(vcs.getVcsHistoryProvider()), vcs.getDiffProvider());
    CollectingHistoryPartner partner = new CollectingHistoryPartner(vcs.getProject(), filePath, consumer::consume);
    BackgroundableActionLock lock = getHistoryLock(vcs, actionKey, filePath, null);
    history.reportHistoryInBackground(filePath, null, vcs.getKeyInstanceMethod(), lock, partner, true);
  }
@RequiresEdt
  public static void collectInBackground(@NotNull AbstractVcs vcs,
                                         @NotNull FilePath filePath,
                                         @NotNull VcsBackgroundableActions actionKey,
                                         @NotNull com.intellij.util.Consumer<? super VcsHistorySession> consumer)