@Override
  public RangeMarker getOffsetGuard(int offset) {
    List<RangeMarker> guardedBlocks = myGuardedBlocks;
    // Way too much garbage would be produced otherwise in AbstractList.iterator()
    //noinspection ForLoopReplaceableByForEach
    for (int i = 0; i < guardedBlocks.size(); i++) {
      RangeMarker block = guardedBlocks.get(i);
      if (offsetInRange(offset, block.getStartOffset(), block.getEndOffset())) return block;
    }

    return null;
  }
@Override
  public RangeMarker getOffsetGuard(int offset)