private static Future<Collection<GitTag>> scheduleCollectCommonTags(@NotNull List<GitRepository> repositories,
                                                                            @NotNull Disposable disposable) {
    return
    ApplicationManager.getApplication().executeOnPooledThread(() ->
      BackgroundTaskUtil.runUnderDisposeAwareIndicator(disposable, () ->
        GitBranchUtil.collectCommon(repositories.stream().map(repository -> {
          try {
            List<String> tags = GitBranchUtil.getAllTags(repository.getProject(), repository.getRoot());
            return ContainerUtil.map(tags, GitTag::new);
          }
          catch (VcsException e) {
            return Collections.emptyList();
          }
        })))
    );
  }
private static Future<Collection<GitTag>> scheduleCollectCommonTags(@NotNull List<GitRepository> repositories,
                                                                            @NotNull Disposable disposable)