@Override
  public boolean execute(@NotNull Project project,
                         @NotNull Collection<? extends VirtualFile> rootsToSave,
                         @NotNull String operationTitle,
                         @NotNull ProgressIndicator indicator,
                         @NotNull Runnable operation) {
    GitRepositoryManager gitRepositoryManager = GitRepositoryManager.getInstance(project);
    if (!areRootsUnderGitWithInitialCommit(rootsToSave, gitRepositoryManager)) {
      return false;
    }
    new GitPreservingProcess(project, Git.getInstance(), rootsToSave, operationTitle, "",
                             GitVcsSettings.getInstance(project).getSaveChangesPolicy(),
                             indicator, operation).execute();
    return true;
  }
@Override
  public boolean execute(@NotNull Project project,
                         @NotNull Collection<? extends VirtualFile> rootsToSave,
                         @NotNull String operationTitle,
                         @NotNull ProgressIndicator indicator,
                         @NotNull Runnable operation)