public AbstractButton menuItem(AdminCommand command, String propName) {
            AbstractButton item;
            if (isToggle()) {
                item = new JCheckBoxMenuItem(this);
                addButton(item);
            } else if (isRadio()) {
                item = new JRadioButtonMenuItem(this);
                addButton(item);
            } else {
                if (hasSubActions()) {
                    item = new JMenu(this);
                    ButtonGroup bg = null;
                    for (int subIndex = 0;; subIndex++) {
                        String subName = propName + "." + subIndex;
                        String u = getProperty(subName);
                        if (u == null)
                            break;
                        AdminAction action = createAction(command, u);
                        AbstractButton subItem = action.menuItem(command, subName);
                        item.add(subItem);
                        if (subItem instanceof JRadioButtonMenuItem) {
                            boolean first = bg == null;
                            if (first)
                                bg = new ButtonGroup();
                            bg.add(subItem);
                            if (first)
                                subItem.setSelected(true);
                        }
                    }
                } else {
                    item = new JMenuItem(this);
                }
            }
            if ("REFRESH_0".equals(_name)) {
                _refreshOnceButton = item;
            }
            return item;
        }