context.popLocalContext();
context.popLocalVariables(mark);
	public Sequence eval(Sequence contextSequence, Item contextItem, Sequence resultSequence) throws XPathException {		context.pushLocalContext(false);		Variable var = new Variable(QName.parse(context, varName));		context.declareVariable(var);		Sequence inSeq = inputSequence.eval(null);		Sequence satisfiesSeq;		boolean found = false;		for(SequenceIterator i = inSeq.iterate(); i.hasNext(); ) {			contextItem = i.nextItem();			if(sequenceType != null)				// check sequence type				sequenceType.checkType(contextItem.getType());			var.setValue(contextItem.toSequence());			satisfiesSeq = returnExpr.eval(null);			if(returnExpr.returnsType() == Type.BOOLEAN)				found = satisfiesSeq.effectiveBooleanValue();			else				found = satisfiesSeq.getLength() != 0;			if((mode == SOME && found) || (mode == EVERY && !found))				break;		}		context.popLocalContext();		return found ? BooleanValue.TRUE : BooleanValue.FALSE;	}