@Override
  public TaskInfo startNewTask(@NotNull final String taskName) {
    List<R> repositories = myRepositoryManager.getRepositories();
    List<R> problems = ContainerUtil.filter(repositories,
                                            repository -> hasBranch(repository, new TaskInfo(taskName, Collections.emptyList())));
    List<R> map = new ArrayList<>();
    if (!problems.isEmpty()) {
      if (ApplicationManager.getApplication().isUnitTestMode() ||
          MessageDialogBuilder
            .yesNo(DvcsBundle.message("dialog.title.already.exists", StringUtil.capitalize(myBranchType)),
                   DvcsBundle.message("dialog.message.following.repositories.already.have.specified",
                                      myBranchType, taskName, StringUtil.join(problems, UIUtil.BR), myBranchType))
            .icon(Messages.getWarningIcon())
            .ask(myProject)) {
        checkout(taskName, problems, null);
        map.addAll(problems);
      }
      repositories = ContainerUtil.filter(repositories, r->!problems.contains(r));
    }
    if (!repositories.isEmpty()) {
      checkoutAsNewBranch(taskName, repositories);
    }

    map.addAll(repositories);
    return new TaskInfo(taskName, ContainerUtil.map(map, r -> r.getPresentableUrl()));
  }
@Override
  public TaskInfo startNewTask(@NotNull final String taskName)