@NotNull
  private static Pair<ContentDiffRequest, List<DiffChange>> convertRequest(@NotNull SvnPropertiesDiffRequest request, boolean embedded) {
    List<PropertyRecord> records = collectRecords(request);

    StringBuilder builder1 = new StringBuilder();
    StringBuilder builder2 = new StringBuilder();
    List<DiffChange> diffChanges = new ArrayList<>();

    int totalLines = 0;
    for (PropertyRecord record : records) {
      int start = totalLines;

      String before = StringUtil.notNullize(record.getBefore());
      String after = StringUtil.notNullize(record.getAfter());
      builder1.append(before);
      builder2.append(after);

      int lines1 = StringUtil.countNewLines(before);
      int lines2 = StringUtil.countNewLines(after);

      int appendedLines = Math.max(lines1, lines2) + 1;
      totalLines += appendedLines;

      builder1.append("\n".repeat(appendedLines - lines1));
      builder2.append("\n".repeat(appendedLines - lines2));

      diffChanges.add(new DiffChange(record, start, totalLines, start, totalLines));
    }

    DocumentContent content1 = DiffContentFactory.getInstance().create(null, new DocumentImpl(builder1));
    DocumentContent content2 = DiffContentFactory.getInstance().create(null, new DocumentImpl(builder2));
    List<DiffContent> contents = Arrays.asList(content1, content2);
    List<String> titles = embedded ? Arrays.asList(null, null) : request.getContentTitles();

    ProxySimpleDiffRequest proxyRequest = new ProxySimpleDiffRequest(request.getTitle(), contents, titles, request);
    proxyRequest.putUserData(DiffUserDataKeys.FORCE_READ_ONLY, true);
    return Pair.create(proxyRequest, diffChanges);
  }
@NotNull
  private static Pair<ContentDiffRequest, List<DiffChange>> convertRequest(@NotNull SvnPropertiesDiffRequest request, boolean embedded)