public static @NotNull GitUpdater getUpdater(@NotNull Project project,
                                      @NotNull Git git,
                                      @NotNull GitBranchPair trackedBranches,
                                      @NotNull GitRepository repository,
                                      @NotNull ProgressIndicator progressIndicator,
                                      @NotNull UpdatedFiles updatedFiles,
                                      @NotNull UpdateMethod updateMethod) {
    if (updateMethod == UpdateMethod.BRANCH_DEFAULT) {
      updateMethod = resolveUpdateMethod(repository);
    }
    return updateMethod == UpdateMethod.REBASE ?
           new GitRebaseUpdater(project, git, repository, trackedBranches, progressIndicator, updatedFiles):
           new GitMergeUpdater(project, git, repository, trackedBranches, progressIndicator, updatedFiles);
  }
public static @NotNull GitUpdater getUpdater(@NotNull Project project,
                                      @NotNull Git git,
                                      @NotNull GitBranchPair trackedBranches,
                                      @NotNull GitRepository repository,
                                      @NotNull ProgressIndicator progressIndicator,
                                      @NotNull UpdatedFiles updatedFiles,
                                      @NotNull UpdateMethod updateMethod)