LocalVariable mark = context.markLocalVariables();
LocalVariable mark = context.markLocalVariables(false);
	public Sequence eval(Sequence contextSequence, Item contextItem, Sequence resultSequence) throws XPathException {        if (contextItem != null)            contextSequence = contextItem.toSequence();		LocalVariable mark = context.markLocalVariables();		LocalVariable var = new LocalVariable(QName.parse(context, varName, null));		context.declareVariable(var);		Sequence inSeq = inputSequence.eval(contextSequence);		Sequence satisfiesSeq;		boolean found = false;		if ( mode == EVERY )			found = true;		for(SequenceIterator i = inSeq.iterate(); i.hasNext(); ) {			contextItem = i.nextItem();			var.setValue(contextItem.toSequence());            var.checkType();			satisfiesSeq = returnExpr.eval(contextSequence);			found = satisfiesSeq.effectiveBooleanValue();			if((mode == SOME && found) || (mode == EVERY && !found))				break;		}		context.popLocalVariables(mark);		return found ? BooleanValue.TRUE : BooleanValue.FALSE;	}