private void mouseEntered(@NotNull MouseEvent event) {
      Component component = reference.get();
      if (component == null) return; // component is already collected
      point.setLocation(event.getXOnScreen(), event.getYOnScreen());
      SwingUtilities.convertPointFromScreen(point, component);
      if (LOG.isDebugEnabled()) LOG.debug("mouse entered into " + component);
      notifySafely(component, listener -> listener.mouseEntered(component, point.x, point.y));
    }
private void mouseEntered(@NotNull MouseEvent event)