@Override
  @RequiresEdt
  public void scrollToCaret(@NotNull ScrollType scrollType) {
    if (LOG.isTraceEnabled()) {
      LOG.trace(new Throwable());
    }

    Editor editor = supplier.getEditor();
    AsyncEditorLoader.Companion.performWhenLoaded(editor, (ContextAwareRunnable)() -> {
      VisualPosition visualPosition = editor.getCaretModel().getVisualPosition();
      LogicalPosition logicalPosition = editor.visualToLogicalPosition(visualPosition);
      for (ScrollRequestListener listener : scrollRequestListeners) {
        listener.scrollRequested(logicalPosition, scrollType);
      }
      scrollTo(supplier.getScrollingHelper().calculateScrollingLocation(editor, visualPosition), scrollType);
    });
  }
@Override
  @RequiresEdt
  public void scrollToCaret(@NotNull ScrollType scrollType)