public void BuildMenuBar(MenuBarDefinition menuBarDefinition, MenuModel result) { var menus = _menus .Where(x => x.MenuBar == menuBarDefinition) .Where(x => !_excludeMenus.Contains(x)) .OrderBy(x => x.SortOrder); foreach (var menu in menus) { var menuModel = new TextMenuItem(menu); AddGroupsRecursive(menu, menuModel); if (menuModel.Children.Any()) result.Add(menuModel); } }