@Override
  protected @NotNull List<String> getBranchNamesExceptCurrent(@NotNull GitRepository repository) {
    List<GitBranch> localBranches = new ArrayList<>(repository.getBranches().getLocalBranches());
    Collections.sort(localBranches);
    List<GitBranch> remoteBranches = new ArrayList<>(repository.getBranches().getRemoteBranches());
    Collections.sort(remoteBranches);

    var repositoryInfo = repository.getInfo();
    if (repositoryInfo.isOnBranch()) {
      localBranches.remove(repositoryInfo.getCurrentBranch());
    }

    List<String> branchNames = new ArrayList<>();
    for (GitBranch branch : localBranches) {
      branchNames.add(branch.getName());
    }
    for (GitBranch branch : remoteBranches) {
      branchNames.add(branch.getName());
    }
    return branchNames;
  }
@Override
  protected @NotNull List<String> getBranchNamesExceptCurrent(@NotNull GitRepository repository)