protected internal virtual PropertySpec OnLoadBaseDefinition()
{
var propInfoBaseDefinition = PropertyInfo.GetBaseDefinition();
return
DeclaringType
.BaseType
.WalkTree(x => x.BaseType)
.SelectMany(x => x.Properties.Where(y => y.PropertyInfo.Equals(propInfoBaseDefinition)))
.FirstOrDefault();
}