public void showInformationHint(@NotNull Editor editor,
                                  @NotNull JComponent component,
                                  @PositionFlags short position,
                                  @Nullable Runnable onHintHidden) {
    if (ApplicationManager.getApplication().isUnitTestMode()) {
      return;
    }

    LightweightHint hint = new LightweightHint(component);
    Point p = getClientManager(editor).getHintPosition(hint, editor, position);
    int flags = HintManager.HIDE_BY_ANY_KEY | HintManager.HIDE_BY_TEXT_CHANGE | HintManager.HIDE_BY_SCROLLING;

    AccessibleContextUtil.setName(hint.getComponent(), IdeBundle.message("information.hint.accessible.context.name"));
    if (onHintHidden != null) {
      hint.addHintListener((event) -> {
        onHintHidden.run();
      });
    }

    showEditorHint(hint, editor, p, flags, 0, false);
  }
public void showInformationHint(@NotNull Editor editor,
                                  @NotNull JComponent component,
                                  @PositionFlags short position,
                                  @Nullable Runnable onHintHidden)