}
// Make a copy of the context item
SequenceIterator currentIterator = context.getCurrentIterator();
if (currentIterator != null) {
Item contextItem = currentIterator.current();
UnfailingIterator single = SingletonIterator.makeIterator(contextItem);
single.next();
savedXPathContext.setCurrentIterator(single);
// we don't save position() and last() because we have no way
// of restoring them. So the caller must ensure that a Closure is not