@Override
  public void setBounds(@NotNull Rectangle bounds) {
    // do not update the bounds programmatically if the user moves or resizes the popup
    if (!isBusy()) setBounds(bounds.getLocation(), bounds.getSize());
  }
@Override
  public void setBounds(@NotNull Rectangle bounds)