boolean (@Nullable Project project, @NotNull DiffDialogHints hints, @NotNull ThrowableConvertor<? super ProgressIndicator, ? extends List<DiffRequest>, ? extends Exception> requestsProducer) { try { List<DiffRequest> requests = computeWithModalProgress(project, DiffBundle.message("progress.title.loading.requests"), requestsProducer); if (requests == null) return false; showRequests(project, requests, hints); return true; } catch (ProcessCanceledException ignore) { } catch (Throwable e) { LOG.warn(e); Messages.showErrorDialog(project, e.getMessage(), DiffBundle.message("can.t.show.diff.in.external.tool")); } return false; }