private void matchBackward(int index1, int index2) {
      int start1 = index1 == 0 ? 0 : getEndOffset1(index1 - 1);
      int start2 = index2 == 0 ? 0 : getEndOffset2(index2 - 1);
      int end1 = index1 == myWords1.size() ? myLen1 : getStartOffset1(index1);
      int end2 = index2 == myWords2.size() ? myLen2 : getStartOffset2(index2);

      matchBackward(start1, start2, end1, end2);
      clearLastRange();
    }
private void matchBackward(int index1, int index2)