void (@NotNull MouseEvent e) { int i = rowAtPoint(e.getPoint()); if (i != myRowUnderMouse) { onMouseExited(); } if (i < 0) { return; } if (i != myRowUnderMouse) { onMouseEntered(e); } ArrangementListRowDecorator decorator = myComponents.get(i); if (decorator == null) { return; } Rectangle rectangle = decorator.onMouseMove(e); if (rectangle != null) { repaintScreenBounds(rectangle); } }