public override DynamicMetaObject GetMetaObject(Expression parameter)
{
DynamicMetaObject baseMetaObject = GetBaseMetaObject(parameter);
if (Modules == null ||
Modules.Count == 0)
{
return baseMetaObject;
}
return new NestedCastingMetaObject(parameter, this, baseMetaObject, Modules);
}