public static CatNamesByOwnerGender LoadCatNamesByOwnerGender(List <PetOwner> catOwners)
        {
            CatNamesByOwnerGender catNamesWithOwnerGender = new CatNamesByOwnerGender();

            foreach (PetOwner catOwner in catOwners)
            {
                if (catNamesWithOwnerGender.ContainsKey(catOwner.Gender))
                {
                    catNamesWithOwnerGender[catOwner.Gender].AddRange(catOwner.Pets.Where(pet => pet.Type.ToLowerInvariant() == Pets.cat).Select(pet => pet.Name).ToList());
                }
                else
                {
                    catNamesWithOwnerGender.Add(catOwner.Gender, catOwner.Pets.Where(pet => pet.Type.ToLowerInvariant() == Pets.cat).Select(pet => pet.Name).ToList());
                }
            }
            return(catNamesWithOwnerGender);
        }