private IList <CategoryViewModel> MapCategories(ICollection <Category> categoriesToMap) { var categoriesToReturn = new List <CategoryViewModel>(); foreach (var category in categoriesToMap) { var categoryViewModel = new CategoryViewModel(); categoryViewModel.Name = category.DisplayName(); categoryViewModel.Url = CatalogLibrary.GetNiceUrlForCategory(category); categoryViewModel.Categories = MapCategories(CatalogLibrary.GetCategories(category)); categoriesToReturn.Add(categoryViewModel); } return(categoriesToReturn); }