private void matchForward(int start1, int start2, int end1, int end2) {
      assert lastStart1 == -1 && lastStart2 == -1 && lastEnd1 == -1 && lastEnd2 == -1;

      lastStart1 = start1;
      lastStart2 = start2;
      lastEnd1 = end1;
      lastEnd2 = end2;
    }
private void matchForward(int start1, int start2, int end1, int end2)