void (int line1, int line2) { if (sample == null) return; int start1 = Math.max(last1, builder.getIndex1()); int start2 = Math.max(last2, builder.getIndex2()); IntList subLines1=new IntArrayList(); IntList subLines2=new IntArrayList(); for (int i = start1; i < line1; i++) { if (ComparisonUtil.isEquals(sample, lines1.get(i).getContent(), IGNORE_WHITESPACES)) { subLines1.add(i); last1 = i + 1; } } for (int i = start2; i < line2; i++) { if (ComparisonUtil.isEquals(sample, lines2.get(i).getContent(), IGNORE_WHITESPACES)) { subLines2.add(i); last2 = i + 1; } } assert subLines1.size() > 0 && subLines2.size() > 0; alignExactMatching(subLines1, subLines2); sample = null; }