void (@NotNull final AnActionEvent e) { final DataContext dataContext = e.getDataContext(); final Project project = CommonDataKeys.PROJECT.getData(dataContext); final T checker = createChecker(); checker.execute(e); if (!checker.isValid()) { showErrorDialog(message("dialog.message.integrate.changes.error.no.available.files"), message("dialog.title.integrate.to.branch")); return; } final SvnIntegrateChangesActionPerformer changesActionPerformer = new SvnIntegrateChangesActionPerformer(project, checker.getSameBranch(), createMergerFactory(checker)); Url selectedBranchUrl = getSelectedBranchUrl(checker); if (selectedBranchUrl == null) { SelectBranchPopup.showForBranchRoot(project, checker.getRoot(), changesActionPerformer, message("popup.title.select.branch.to.integrate.to")); } else { changesActionPerformer.onBranchSelected(selectedBranchUrl, getSelectedBranchLocalPath(checker), getDialogTitle()); } }