void (@NotNull MouseEvent e) { Rectangle baseRect = new Rectangle(getSize()); JBInsets.removeFrom(baseRect, getInsets()); int arrowWidth = ARROW_DOWN.getIconWidth() + JBUIScale.scale(7); Rectangle execButtonRect = new Rectangle(baseRect.x, baseRect.y, baseRect.width - arrowWidth, baseRect.height); Rectangle arrowButtonRect = new Rectangle(execButtonRect.x + execButtonRect.width, baseRect.y, arrowWidth, baseRect.height); Point p = e.getPoint(); mousePressType = execButtonRect.contains(p) ? MousePressType.Action : arrowButtonRect.contains(p) ? MousePressType.Popup : MousePressType.None; }