@Override
    protected void processChange(int start1, int start2, int start3, int end1, int end2, int end3) {
      MergeRange lastChange = myChanges.isEmpty() ? null : myChanges.get(myChanges.size() - 1);
      int unchangedStart1 = lastChange != null ? lastChange.end1 : 0;
      int unchangedStart2 = lastChange != null ? lastChange.end2 : 0;
      int unchangedStart3 = lastChange != null ? lastChange.end3 : 0;
      addIgnoredChanges(unchangedStart1, unchangedStart2, unchangedStart3, start1, start2, start3);

      addChange(start1, start2, start3, end1, end2, end3);
    }
@Override
    protected void processChange(int start1, int start2, int start3, int end1, int end2, int end3)