void (@NotNull AnActionEvent e) { Project project = e.getData(CommonDataKeys.PROJECT); VirtualFile[] files = getSelectedFiles(e); if (isEmpty(files)) return; SvnVcs vcs = SvnVcs.getInstance(project); if (!ProjectLevelVcsManager.getInstance(project).checkAllFilesAreUnder(vcs, files)) return; project.save(); String actionName = removeMnemonic(removeEllipsisSuffix(getActionName())); LocalHistoryAction action = LocalHistory.getInstance().startAction(actionName); AbstractVcsHelper helper = AbstractVcsHelper.getInstance(project); try { List<VcsException> exceptions = helper.runTransactionRunnable(vcs, exceptionList -> { VirtualFile badFile = null; try { if (isBatchAction()) { batchExecute(vcs, files, e.getDataContext()); } else { for (VirtualFile file : files) { badFile = file; execute(vcs, file, e.getDataContext()); } } } catch (VcsException ex) { ex.setVirtualFile(badFile); exceptionList.add(ex); } }, null); helper.showErrors(exceptions, actionName); } finally { action.finish(); } }