public void menuSelected(MenuEvent arg0) {
//			System.out.println("Selected menu items " + arg0);
            for (Iterator i = menuItemHolder.iterator(); i.hasNext(); ) {
                StructuredMenuItemHolder holder = (StructuredMenuItemHolder) i
                        .next();
                Action action = holder.getAction();
                boolean isEnabled = false;
                JMenuItem menuItem = holder.getMenuItem();
                if (holder.getEnabledListener() != null) {
                    try {
                        isEnabled = holder.getEnabledListener().isEnabled(
                                menuItem, action);
                    } catch (Exception e) {
                        Resources.getInstance().logException(e);
                    }
                    action.setEnabled(isEnabled);
//					menuItem.setEnabled(isEnabled);
                }
                isEnabled = menuItem.isEnabled();
                if (isEnabled && holder.getSelectionListener() != null) {
                    boolean selected = false;
                    try {
                        selected = holder.getSelectionListener().isSelected(
                                menuItem, action);
                    } catch (Exception e) {
                        Resources.getInstance().logException(e);
                    }
                    if (menuItem instanceof JCheckBoxMenuItem) {
                        JCheckBoxMenuItem checkItem = (JCheckBoxMenuItem) menuItem;
                        checkItem.setSelected(selected);
                    } else {
                        // Do icon change if not a check box menu!
                        setSelected(menuItem, selected);
                    }
                }
            }
        }