DiffRequest (@NotNull T provider, @NotNull ProgressIndicator indicator) { String name = getRequestName(provider); try { return loadRequest(provider, indicator); } catch (ProcessCanceledException e) { OperationCanceledDiffRequest request = new OperationCanceledDiffRequest(name); request.putUserData(DiffUserDataKeys.CONTEXT_ACTIONS, Collections.singletonList(new ReloadRequestAction(provider))); return request; } catch (DiffRequestProducerException e) { return new ErrorDiffRequest(name, e); } catch (Exception e) { LOG.warn(e); return new ErrorDiffRequest(name, e); } }