private void RebuildMenuItemsForModel(IMenuModel model)
        {
            ToolStripItem[] oldItems = FindItems(i => i.Tag == model).ToArray();

            if (oldItems.Length > 0)
            {
                var parent = oldItems[0].OwnerItem as ToolStripDropDownItem;

                ToolStripItem[] newItems = StyleMenuItems(model.GetMenuItems(_imageFactory));

                if (parent != null)
                {
                    ReplaceItems(parent.DropDownItems, oldItems, newItems);
                }
                else
                {
                    ReplaceItems(RootCollection, oldItems, newItems);
                }
            }
            else
            {
                if (model.Parent != null)
                {
                    RebuildMenuItemsForModel(model.Parent);
                }
            }
        }