class ListBarWidgetImpl extends ResizeComposite implements ListBarWidget {

    protected Widget makeItem(final MenuItem item,
                              boolean isRoot) {

        Widget[] menuWidget = new Widget[]{null};
        item.accept(new AuthFilterMenuVisitor(authzManager,
                                              identity,
                                              new BaseMenuVisitor() {

                                                  @Override
                                                  public boolean visitEnter(MenuGroup menuGroup) {
                                                      menuWidget[0] = makeMenuGroup(menuGroup,
                                                                                    isRoot);
                                                      return false;
                                                  }

                                                  @Override
                                                  public void visit(MenuItemCommand menuItemCommand) {
                                                      menuWidget[0] = makeMenuItemCommand(menuItemCommand,
                                                                                          isRoot);
                                                  }

                                                  @Override
                                                  public void visit(MenuCustom<?> menuCustom) {
                                                      menuWidget[0] = makeMenuCustom(menuCustom);
                                                  }
                                              }));
        return menuWidget[0];
    }

}