private static MenuGroupViewModel FindOrCreateMenuGroup(IDictionary <string, MenuGroupViewModel> menuGroupViewModels, MenuGroup menuGroup) { menuGroupViewModels.TryGetValue(menuGroup.Name, out var menuGroupViewModel); if (menuGroupViewModel == null) { menuGroupViewModel = new MenuGroupViewModelFactory().Create(menuGroup); menuGroupViewModels.Add(menuGroupViewModel.Name, menuGroupViewModel); } else { if (menuGroup.Position < menuGroupViewModel.Position) { menuGroupViewModel.CssClass = menuGroup.CssClass; menuGroupViewModel.Position = menuGroup.Position; } } return(menuGroupViewModel); }