public Person(Name name, List<Person> children)
 {
     this.name = name.DeepClone();
     this.children =  DeepClone(children);
 }