void (List<Pair<RangeMarker, TextRange>> adds, List<Pair<RangeMarker, TextRange>> dels, List<Trinity<Integer, Integer, Integer>> edits) { StringBuilder s = new StringBuilder("adds: "); for (Pair<RangeMarker, TextRange> c : adds) { TextRange t = c.second; s.append(t.getStartOffset()).append(",").append(t.getEndOffset()).append(", "); } s.append("\nedits: "); for (Trinity<Integer, Integer, Integer> edit : edits) { s.append(edit.first).append(",").append(edit.second).append(",").append(edit.third).append(", "); } s.append("\ndels: "); for (Pair<RangeMarker, TextRange> c : dels) { int index = adds.indexOf(c); assertSame(c, adds.get(index)); s.append(index).append(", "); } System.err.println(s); }