void (@NotNull Map<String, List<? extends GitRepository>> branchesToContainingRepositories, @Nullable Runnable callInAwtAfterExecution) { if (branchesToContainingRepositories.isEmpty()) return; Set<String> branchNames = branchesToContainingRepositories.keySet(); String branchMsg = branchNames.size() == 1 ? branchNames.iterator().next() : StringUtil.join(branchNames, ", "); new CommonBackgroundTask(myProject, GitBundle.message("branch.deleting.branch.process", branchMsg), callInAwtAfterExecution) { @Override public void execute(@NotNull ProgressIndicator indicator) { GitBranchWorker worker = newWorker(indicator); for (String branchName : branchNames) { worker.deleteBranch(branchName, branchesToContainingRepositories.getOrDefault(branchName, Collections.emptyList())); } } }.runInBackground(); }