src/main/java/org/efaps/ui/wicket/models/objects/UIMenuItem.java
private void initialize()
        throws CacheReloadException
    {
        final AbstractCommand command = super.getCommand();
        this.image = command.getIcon();
        this.reference = command.getReference();
        this.askUser = command.isAskUser();
        this.windowHeight = command.getWindowHeight();
        this.windowWidth = command.getWindowWidth();
        this.defaultSelected = command.isDefaultSelected();
        this.description = "";
        this.submitSelectedRows = command.getSubmitSelectedRows();
        requeryLabel();
        try {
            if (command instanceof AbstractMenu) {
                for (final AbstractCommand subCmd : ((AbstractMenu) command).getCommands()) {
                    if (subCmd != null && subCmd.hasAccess(getMode(), getInstance())) {
                        if (subCmd.getTargetMode().equals(TargetMode.SEARCH)) {
                            final UISearchItem child = new UISearchItem(subCmd.getUUID(), getInstanceKey());
                            child.setParent(this);
                            this.children.add(child);
                        } else {
                            final UIMenuItem child = new UIMenuItem(subCmd.getUUID(), getInstanceKey());
                            child.setParent(this);
                            this.children.add(child);
                            try {
                                if (Context.getThreadContext().containsSessionAttribute(child.getCacheKey())) {
                                    final Boolean expandTmp = (Boolean) Context.getThreadContext().getSessionAttribute(
                                                    child.getCacheKey());
                                    child.setExpanded(expandTmp);
                                }
                            } catch (final EFapsException e) {
                                UIMenuItem.LOG.error("Error retrieving Session info for UIMenuItem called by Command "
                                                + "with UUID: {}", getCommandUUID(), e);
                            }
                        }
                    }
                }
            }
            if (Configuration.getAttributeAsBoolean(ConfigAttribute.USER_MENUACT)
                            && UUID.fromString(Configuration.getAttribute(ConfigAttribute.USER_MENUMENU)).equals(
                                            getCommandUUID())) {
                for (final String key : UsageRegistry.getKeyList()) {
                    addChild4Key(key);
                }
            }
        } catch (final EFapsException e) {
            throw new RestartResponseException(new ErrorPage(e));
        }
    }
private void initialize()
        throws CacheReloadException
    {
        final AbstractCommand command = super.getCommand();
        this.image = command.getIcon();
        this.reference = command.getReference();
        this.askUser = command.isAskUser();
        this.windowHeight = command.getWindowHeight();
        this.windowWidth = command.getWindowWidth();
        this.defaultSelected = command.isDefaultSelected();
        this.description = "";
        this.submitSelectedRows = command.getSubmitSelectedRows();
        requeryLabel();
        try {
            if (command instanceof AbstractMenu) {
                for (final AbstractCommand subCmd : ((AbstractMenu) command).getCommands()) {
                    if (subCmd != null && subCmd.hasAccess(getMode(), getInstance())) {
                        if (subCmd.getTargetMode().equals(TargetMode.SEARCH)) {
                            final UISearchItem child = new UISearchItem(subCmd.getUUID(), getInstanceKey());
                            child.setParent(this);
                            this.children.add(child);
                        } else {
                            final UIMenuItem child = new UIMenuItem(subCmd.getUUID(), getInstanceKey());
                            child.setParent(this);
                            this.children.add(child);
                            try {
                                if (Context.getThreadContext().containsSessionAttribute(child.getCacheKey())) {
                                    final Boolean expandTmp = (Boolean) Context.getThreadContext().getSessionAttribute(
                                                    child.getCacheKey());
                                    child.setExpanded(expandTmp);
                                }
                            } catch (final EFapsException e) {
                                UIMenuItem.LOG.error("Error retrieving Session info for UIMenuItem called by Command "
                                                + "with UUID: {}", getCommandUUID(), e);
                            }
                        }
                    }
                }
            }
            if (Configuration.getAttributeAsBoolean(ConfigAttribute.USER_MENUACT)
                            && UUID.fromString(Configuration.getAttribute(ConfigAttribute.USER_MENUMENU)).equals(
                                            getCommandUUID())) {
                for (final String key : UsageRegistry.getKeyList()) {
                    addChild4Key(key);
                }
            }
        } catch (final EFapsException e) {
            throw new RestartResponseException(new ErrorPage(e));
        }
    }
this method initializes this MenuItem.

@throws CacheReloadException on error