@Override
  public @NotNull GitCommandResult merge(@NotNull GitRepository repository, @NotNull String branchToMerge,
                                         @Nullable List<String> additionalParams, GitLineHandlerListener @NotNull ... listeners) {
    final GitLineHandler mergeHandler = new GitLineHandler(repository.getProject(), repository.getRoot(), GitCommand.MERGE);
    mergeHandler.setSilent(false);
    mergeHandler.addParameters(branchToMerge);
    if (additionalParams != null) {
      mergeHandler.addParameters(additionalParams);
    }
    for (GitLineHandlerListener listener : listeners) {
      mergeHandler.addLineListener(listener);
    }
    return runCommand(mergeHandler);
  }
@Override
  public @NotNull GitCommandResult merge(@NotNull GitRepository repository, @NotNull String branchToMerge,
                                         @Nullable List<String> additionalParams, GitLineHandlerListener @NotNull ... listeners)