protected override object DoEvaluate(ScriptThread thread) { thread.CurrentNode = this; //standard prolog var closure = Lambda.Evaluate(thread); //returns closure NameNode.SetValue(thread, closure); thread.CurrentNode = Parent; //standard epilog return(closure); }