new GapContentPosition(offset));
new GapContentPosition(offset), new WeakPositionComparator());
  void adjustPositionsInRange(int offset, int length, int incr)  {    int endOffset = offset + length;    int index1 = Collections.binarySearch(positions,                                          new GapContentPosition(offset));    if (index1 < 0)      index1 = -(index1 + 1);    // Search the first index with the specified offset. The binarySearch does    // not necessarily find the first one.    while (index1 > 0        && ((GapContentPosition) positions.get(index1 - 1)).mark == offset)      index1--;    for (ListIterator i = positions.listIterator(index1); i.hasNext();)      {        GapContentPosition p = (GapContentPosition) i.next();        if (p.mark > endOffset)          break;                if (p.mark >= offset && p.mark <= endOffset)          p.mark += incr;      }  }