public override ITable Evaluate(IRequest context)
{
// Is the result available in the context?
var childTable = context.Access().GetCachedTable(Id.ToString());
if (childTable == null) {
// No so evaluate the child and cache it
childTable = Child.Evaluate(context);
context.Access().CacheTable(Id.ToString(), childTable);
}
return childTable;
}