@Override
    protected void processMouseEvent(final MouseEvent e){
      super.processMouseEvent(e);
      switch (e.getID()) {
        case MouseEvent.MOUSE_PRESSED -> {
          myLastPoint = e.getPoint();
          SwingUtilities.convertPointToScreen(myLastPoint, this);
          setMotionMask(e.getPoint());
          myDragging = true;
        }
        case MouseEvent.MOUSE_RELEASED -> {
          FloatingDecorator.this.validate();
          FloatingDecorator.this.repaint();
          myDragging = false;
        }
        case MouseEvent.MOUSE_ENTERED -> {
          if (!myDragging) {
            setMotionMask(e.getPoint());
          }
        }
      }
    }
@Override
    protected void processMouseEvent(final MouseEvent e)