protected void AddPropertyAccessor(PropertyAccessor prop)
 {
     if (this.Properties.ContainsKey(prop.Name) == false)
     {
         this.Properties.Add(prop.Name, prop);
     }
     else
     {
         Debug.WriteLine("Property hidden:" + prop.ToString());
         //Debug.Fail("property already registered: " + accessor.Name);
     }
 }