@Override
  public Rectangle toModel(@NotNull Component source, @NotNull Rectangle rectangle) {
    Rectangle bounds = myNativeComponent == source
                       ? new Rectangle(rectangle) : SwingUtilities.convertRectangle(source, rectangle, myNativeComponent);

    if (myNativeComponent != source && myNativeComponent instanceof ScalableComponent scalableComponent) {
      double zoom = scalableComponent.getScale();

      if (zoom != 1) {
        bounds = new Rectangle(bounds);
        bounds.x /= zoom;
        bounds.y /= zoom;
        bounds.width /= zoom;
        bounds.height /= zoom;
      }
    }

    return bounds;
  }
@Override
  public Rectangle toModel(@NotNull Component source, @NotNull Rectangle rectangle)