void (@NotNull AnActionEvent e) { final Project project = e.getData(CommonDataKeys.PROJECT); final List<FilePath> files = e.getData(ChangesListView.MISSING_FILES_DATA_KEY); if (files == null) return; final ProgressManager progressManager = ProgressManager.getInstance(); final Runnable action = () -> { final List<VcsException> allExceptions = new ArrayList<>(); ChangesUtil.processFilePathsByVcs(project, files, (vcs, items) -> { final List<VcsException> exceptions = processFiles(vcs, files); if (exceptions != null) { allExceptions.addAll(exceptions); } }); for (FilePath file : files) { VcsDirtyScopeManager.getInstance(project).fileDirty(file); } if (allExceptions.size() > 0) { AbstractVcsHelper.getInstance(project).showErrors(allExceptions, VcsBundle.message("changes.tab.title.vcs.errors")); } }; if (synchronously()) { action.run(); } else { progressManager.runProcessWithProgressSynchronously(action, getName(), true, project); } }