@Override
  protected void execute(@NotNull final Project project,
                         @NotNull Collection<HgRepository> repos,
                         @Nullable HgRepository selectedRepo,
                         @NotNull DataContext dataContext) {
    final HgPullDialog dialog = new HgPullDialog(project, repos, selectedRepo);
    if (dialog.showAndGet()) {
      final String source = dialog.getSource();
      final HgRepository hgRepository = dialog.getRepository();
      new Task.Backgroundable(project, HgBundle.message("action.hg4idea.pull.progress", source), false) {

        @Override
        public void run(@NotNull ProgressIndicator indicator) {
          executePull(project, hgRepository, source);
          HgUtil.markDirectoryDirty(project, hgRepository.getRoot());
        }
      }.queue();
    }
  }
@Override
  protected void execute(@NotNull final Project project,
                         @NotNull Collection<HgRepository> repos,
                         @Nullable HgRepository selectedRepo,
                         @NotNull DataContext dataContext)