private @NotNull SimpleDiffRequest createSimpleRequest(@Nullable Project project,
                                                         @NotNull Change change,
                                                         @NotNull UserDataHolder context,
                                                         @NotNull ProgressIndicator indicator) throws DiffRequestProducerException {
    ContentRevision bRev = change.getBeforeRevision();
    ContentRevision aRev = change.getAfterRevision();

    if (bRev == null && aRev == null) {
      LOG.warn("Both revision contents are empty");
      throw new DiffRequestProducerException(DiffBundle.message("error.cant.show.diff.content.not.found"));
    }
    if (bRev != null) checkContentRevision(project, bRev, context, indicator);
    if (aRev != null) checkContentRevision(project, aRev, context, indicator);

    final String editorTabTitle = (String)myChangeContext.get(DiffUserDataKeysEx.VCS_DIFF_EDITOR_TAB_TITLE);
    String title = editorTabTitle == null ? getRequestTitle(change) : editorTabTitle;

    indicator.setIndeterminate(true);
    DiffContent content1 = createContent(project, bRev, context, indicator);
    DiffContent content2 = createContent(project, aRev, context, indicator);

    final String userLeftRevisionTitle = (String)myChangeContext.get(DiffUserDataKeysEx.VCS_DIFF_LEFT_CONTENT_TITLE);
    String beforeRevisionTitle = userLeftRevisionTitle != null ? userLeftRevisionTitle : getRevisionTitle(bRev, getBaseVersion());
    final String userRightRevisionTitle = (String)myChangeContext.get(DiffUserDataKeysEx.VCS_DIFF_RIGHT_CONTENT_TITLE);
    String afterRevisionTitle = userRightRevisionTitle != null ? userRightRevisionTitle : getRevisionTitle(aRev, getYourVersion());

    SimpleDiffRequest request = new SimpleDiffRequest(title, content1, content2, beforeRevisionTitle, afterRevisionTitle);

    boolean bRevCurrent = bRev instanceof CurrentContentRevision;
    boolean aRevCurrent = aRev instanceof CurrentContentRevision;
    if (bRevCurrent && !aRevCurrent) request.putUserData(DiffUserDataKeys.MASTER_SIDE, Side.LEFT);
    if (!bRevCurrent && aRevCurrent) request.putUserData(DiffUserDataKeys.MASTER_SIDE, Side.RIGHT);

    return request;
  }
private @NotNull SimpleDiffRequest createSimpleRequest(@Nullable Project project,
                                                         @NotNull Change change,
                                                         @NotNull UserDataHolder context,
                                                         @NotNull ProgressIndicator indicator)