@Override
  public void removeCaretListener(final @NotNull CaretListener listener) {
    CaretListener wrapper = myCaretListeners.removeWrapper(listener);
    if (wrapper != null) {
      myDelegate.removeCaretListener(wrapper);
    }
  }
@Override
  public void removeCaretListener(final @NotNull CaretListener listener)