public override object GetValue(object obj)
{
try {
if (isWrapperProperty)
obj = ObjectWrapper.Lookup (obj);
if (memberInfo != null)
obj = memberInfo.GetValue (obj, null);
return propertyInfo.GetValue (obj, null);
} catch (Exception ex) {
throw new InvalidOperationException ("Could not get value for property " + klass.Name + "." + Name + " from object '" + obj + "'", ex);
}
}