void (@Nullable final Project project, @NotNull ExternalDiffSettings.ExternalTool externalTool, @NotNull final MergeRequest request) { try { if (canShow(request)) { ExternalDiffToolUtil.executeMerge(project, externalTool, (ThreesideMergeRequest)request, null); } else { DiffManagerEx.getInstance().showMergeBuiltin(project, request); } } catch (ProcessCanceledException ignore) { } catch (Throwable e) { LOG.warn(e); Messages.showErrorDialog(project, e.getMessage(), DiffBundle.message("can.t.show.merge.in.external.tool")); } }