this.replacementNodeStack.push(new ReplacementNode() {
public void build(final GroovyObject builder, final Map namespaceMap, final Map<String, String> namespaceTagHints) {
final Closure c = (Closure) replacementClosure.clone();
Node.this.replacementNodeStack.pop(); // disable the replacement whilst the closure is being executed
c.setDelegate(builder);
c.call(new Object[]{result});
Node.this.replacementNodeStack.push(this);
}
});
}