private Icon getIcon() {
   Icon rv = null;
   if (menuItem == null) {
     return rv;
   }
   WindowsMenuItemUIAccessor accessor = getAccessor(menuItem);
   State state = (accessor != null) ? accessor.getState(menuItem) : null;
   if (isEnabled(menuItem, null)) {
     if (state == State.PUSHED) {
       rv = menuItem.getPressedIcon();
     } else {
       rv = menuItem.getIcon();
     }
   } else {
     rv = menuItem.getDisabledIcon();
   }
   return rv;
 }
 private static boolean isEnabled(Component c, State state) {
   if (state == null && c instanceof JMenuItem) {
     WindowsMenuItemUIAccessor accessor = getAccessor((JMenuItem) c);
     if (accessor != null) {
       state = accessor.getState((JMenuItem) c);
     }
   }
   if (state == null) {
     if (c != null) {
       return c.isEnabled();
     } else {
       return true;
     }
   } else {
     return (state != State.DISABLED)
         && (state != State.DISABLEDHOT)
         && (state != State.DISABLEDPUSHED);
   }
 }