@Override
  @Nullable
  public RangeHighlighterEx pickupHighlighterFromGarbageBin(int startOffset, int endOffset, int layer) {
    long range = TextRangeScalarUtil.toScalarRange(startOffset, endOffset);
    List<RangeHighlighterEx> collection = incinerator.get(range);
    if (collection != null) {
      for (int i = 0; i < collection.size(); i++) {
        RangeHighlighterEx highlighter = collection.get(i);
        if (highlighter.isValid() && highlighter.getLayer() == layer) {
          collection.remove(i);
          if (collection.isEmpty()) {
            incinerator.remove(range);
          }
          highlighter.putUserData(BEING_RECYCLED_KEY, null);
          return highlighter;
        }
      }
    }
    return null;
  }
@Override
  @Nullable
  public RangeHighlighterEx pickupHighlighterFromGarbageBin(int startOffset, int endOffset, int layer)