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); } } }