public void Setup()
        {
            foreach (GnosisGenericMenuItemController menuItemController in genericController.ChildControllers)
            {
                if (menuItemController.ChildControllers.Count > 0)
                {
                    GnosisMenuButton menuButton = new GnosisMenuButton();
                    //btn = CreateDropDownButton(menuItemController);
                    //  IGnosisToolbarMenuButtonImplementation menuBtnImplementation =
                    //    GlobalData.Singleton.ImplementationCreator.GetGnosisToolbarMenuButtonImplementation();
                    GnosisToolbarMenuButtonController btnController = new GnosisToolbarMenuButtonController(menuItemController, menuButton, EntityController, this);
                    btnController.Setup();

                    menuButton.AddMenuButton(menuButton);
                    childControllers.Add(btnController);
                }
                else if (menuItemController is GnosisGenericToggleMenuItemController)
                {
                    // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                    GnosisToggleButton          toggleButton = new GnosisToggleButton();
                    GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)menuItemController.ControlImplementation;
                    toggleButton.Active     = menuItem.Active;
                    toggleButton.Caption    = menuItem.Caption;
                    toggleButton.GnosisIcon = menuItem.GnosisIcon;
                    toggleButton.ToolTip    = menuItem.Tooltip;
                    toggleButton.Disabled   = menuItem.Disabled;
                    toggleButton.Hidden     = menuItem.Hidden;
                    GnosisToolbarToggleButtonController btnController = new GnosisToolbarToggleButtonController((GnosisGenericToggleMenuItemController)menuItemController, toggleButton, EntityController, this);
                    //((GnosisToolbarToggleButtonController)btnController).Setup();

                    menuButton.AddToggleButton(toggleButton);
                    childControllers.Add(btnController);
                }
                else if (menuItemController is GnosisGenericMenuGroupController)
                {
                    GnosisGenericMenuGroupController groupController = (GnosisGenericMenuGroupController)menuItemController;

                    foreach (GnosisGenericToggleMenuItemController toggleMenuItemController in groupController.ToggleMenuItemControllers)
                    {
                        // IGnosisToggleButtonImplementation toggleButton = GlobalData.Singleton.ImplementationCreator.GetGnosisToggleButtonImplementation();
                        GnosisToggleButton          toggleButton = new GnosisToggleButton();
                        GnosisGenericToggleMenuItem menuItem     = (GnosisGenericToggleMenuItem)toggleMenuItemController.ControlImplementation;
                        toggleButton.Active     = menuItem.Active;
                        toggleButton.Caption    = menuItem.Caption;
                        toggleButton.GnosisIcon = menuItem.GnosisIcon;
                        toggleButton.ToolTip    = menuItem.Tooltip;
                        toggleButton.Disabled   = menuItem.Disabled;
                        toggleButton.Hidden     = menuItem.Hidden;
                        GnosisToolbarToggleButtonController btnController = new GnosisToolbarToggleButtonController(toggleMenuItemController, toggleButton, EntityController, this);

                        menuButton.AddToggleButton(toggleButton);
                        childControllers.Add(btnController);
                    }
                }
                else
                {
                    GnosisButton          toolbarButton = new GnosisButton();// ((GnosisGenericMenuItem)menuItemController.ControlImplementation);
                    GnosisGenericMenuItem menuItem      = (GnosisGenericMenuItem)menuItemController.ControlImplementation;
                    toolbarButton.Caption    = menuItem.Caption;
                    toolbarButton.GnosisIcon = menuItem.GnosisIcon;
                    toolbarButton.ToolTip    = menuItem.Tooltip;
                    toolbarButton.Disabled   = menuItem.Disabled;
                    toolbarButton.Hidden     = menuItem.Hidden;
                    // IGnosisButtonImplementation btnImplementation =
                    //   GlobalData.Singleton.ImplementationCreator.GetGnosisButtonImplementation();
                    GnosisToolbarButtonController btnController = new GnosisToolbarButtonController(menuItemController, toolbarButton, EntityController, this);
                    ((GnosisToolbarButtonController)btnController).Setup();

                    menuButton.AddButton(toolbarButton);
                    childControllers.Add(btnController);
                }
            }
        }