List<LineFragment> (@NotNull Range range, @NotNull LineOffsets lineOffsets1, @NotNull LineOffsets lineOffsets2, @NotNull DiffIterable changes) { List<LineFragment> fragments = new ArrayList<>(); for (Range ch : changes.iterateChanges()) { int startLine1 = ch.start1 + range.start1; int startLine2 = ch.start2 + range.start2; int endLine1 = ch.end1 + range.start1; int endLine2 = ch.end2 + range.start2; fragments.add(createLineFragment(startLine1, endLine1, startLine2, endLine2, lineOffsets1, lineOffsets2)); } return fragments; }