public MutablePerson MutablePOCO()
 {
     var jon = new MutablePerson
     {
         Name = "Jon",
         Address = new MutableAddress { City = "Reading", Street = "..." },
         Phones = { }
     };
     return jon;
 }
        static void Main(string[] args)
        {
            try
            {
                ImutablePerson p1 = new ImutablePerson("Alex", "");
            }
            catch(ArgumentException e)
            {
                Console.WriteLine("{0} in {1}",e.Message,e.TargetSite.DeclaringType.ToString().Split('+').Last());
            }

            try
            {
                MutablePerson p1 = new MutablePerson("", "");
            }
            catch (ArgumentException e)
            {
                Console.WriteLine("{0} in {1}", e.Message, e.TargetSite.DeclaringType.ToString().Split('+').Last());
            }

            Console.ReadKey();
        }