public override void SetRuntimeValue(object obj, object value)
{
if (runtimePropertyInfo == null)
SetupRuntimeProperties ();
if (runtimeMemberInfo != null)
obj = runtimeMemberInfo.GetValue (obj, null);
if (runtimePropertyInfo.PropertyType.IsInstanceOfType (value))
runtimePropertyInfo.SetValue (obj, value, null);
}