@Override
  public void mouseMoved(MouseEvent e) {
    if (!isEnabled()) return;

    JComponent component = (JComponent)e.getSource();
    Object tag = getTagAt(e);
    UIUtil.setCursor(component, tag != null ? Cursor.getPredefinedCursor(Cursor.HAND_CURSOR) : Cursor.getDefaultCursor());
    if (!Comparing.equal(tag, ComponentUtil.getClientProperty(component, ACTIVE_TAG))) {
      ComponentUtil.putClientProperty(component, ACTIVE_TAG, tag);
      repaintComponent(e);
    }
  }
@Override
  public void mouseMoved(MouseEvent e)