Action (@NotNull MergeResult result, @NotNull MergeRequest request, @NotNull MergeContext context, @NotNull MergeViewer viewer, boolean contentWasModified) { String caption = getResolveActionTitle(result, request, context); return new AbstractAction(caption) { @Override public void actionPerformed(ActionEvent e) { if (result == MergeResult.CANCEL && !showExitWithoutApplyingChangesDialog(viewer, request, context, contentWasModified)) { return; } context.finishMerge(result); } }; }