@Override
  public void setGutterIconRenderer(GutterIconRenderer renderer) {
    boolean oldRenderedInGutter = isRenderedInGutter();
    GutterMark old = myGutterIconRenderer;
    myGutterIconRenderer = renderer;
    if (isRenderedInGutter() != oldRenderedInGutter) {
      myModel.treeFor(this).updateRenderedFlags(this);
    }
    if (!Objects.equals(old, renderer)) {
      fireChanged(true, false, false);
      if (old instanceof Disposable oldDisposableRenderer) {
        Disposer.dispose(oldDisposableRenderer);
      }
    }
  }
@Override
  public void setGutterIconRenderer(GutterIconRenderer renderer)