public virtual T GetPropertyValue<T>( string property, T defaultValue ) where T : Object, IEquatable<T>