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