public void evaluatePendingUpdates(XPathContext context, PendingUpdateList pul) throws XPathException {
// minimize stack consumption by evaluating nested LET expressions iteratively
LetExpression let = this;
while (true) {
ValueRepresentation val = let.eval(context);
context.setLocalVariable(let.getLocalSlotNumber(), val);
if (let.action instanceof LetExpression) {
let = (LetExpression) let.action;
} else {
break;