private @NotNull Map<GitRepository, GitUpdater> defineUpdaters(@NotNull UpdateMethod updateMethod,
                                                                 @NotNull Map<GitRepository, GitBranchPair> trackedBranches) throws VcsException {
    Map<GitRepository, GitUpdater> updaters = new LinkedHashMap<>();
    for (GitRepository repository : trackedBranches.keySet()) {
      GitBranchPair branchAndTracked = trackedBranches.get(repository);
      GitUpdater updater = GitUpdater.getUpdater(myProject, myGit, branchAndTracked, repository, myProgressIndicator, myUpdatedFiles,
                                                 updateMethod);
      if (updater.isUpdateNeeded(branchAndTracked)) {
        updaters.put(repository, updater);
      }
    }

    for (GitRepository repository : mySubmodulesInDetachedHead.keySet()) {
      GitUpdater updater = new GitSubmoduleUpdater(myProject, myGit, mySubmodulesInDetachedHead.get(repository).getParent(), repository,
                                                   myProgressIndicator, myUpdatedFiles);
      updaters.put(repository, updater);
    }

    LOG.info("Updaters: " + updaters);

    return updaters;
  }
private @NotNull Map<GitRepository, GitUpdater> defineUpdaters(@NotNull UpdateMethod updateMethod,
                                                                 @NotNull Map<GitRepository, GitBranchPair> trackedBranches)