@Override
  public void showComponent(@NotNull Component component,
                            @NotNull Function1<? super Dimension, ? extends Point> offset) {
    showComponent(new RelativePoint(component, offset.invoke(getPreferredSize())));
  }
@Override
  public void showComponent(@NotNull Component component,
                            @NotNull Function1<? super Dimension, ? extends Point> offset)