public SequenceIterator iterate(XPathContext context) throws XPathException {
if (context.getController().isTracing()) {
String label = argument[1].evaluateAsString(context).toString();
Value value = Value.asValue(ExpressionTool.eagerEvaluate(argument[0], context));
notifyListener(label, value, context);
return value.iterate();
} else {
return new TracingIterator(argument[0].iterate(context), argument[1].evaluateAsString(context).toString());
}
}