@NotNull
    public List<MergeRange> finish(int length1, int length2, int length3) {
      assert myIndex1 <= length1;
      assert myIndex2 <= length2;
      assert myIndex3 <= length3;

      processChange(myIndex1, myIndex2, myIndex3, length1, length2, length3);

      return myChanges;
    }
@NotNull
    public List<MergeRange> finish(int length1, int length2, int length3)