//DeepCopy
 public void DeepCopy(Address from)
 {
     name = from.name ;
     zip = from.zip ;
     city = from.city ;
     country = from.country ;
 }
 //IClonable Override
 public virtual object Clone()
 {
     Address	 instance = new Address() ;
     instance.name = name ;
     instance.zip = zip ;
     instance.city = city ;
     instance.country = country ;
     return instance;
 }
 //default constructor
 public CustomerOrder()
 {
     CustomerID = String.Empty;
     Rating = XXsd2CodeSample.CreditRating.Good ;
     AddressInfo = new Address() ;
     Orders = new List<XXsd2CodeSample.CommonElements.OrderItem>() ;
 }