e.prependMessage("In call to function " + expression.pprint());
	public Sequence eval(		Sequence contextSequence,		Item contextItem)		throws XPathException {		Sequence[] seq = new Sequence[getArgumentCount()];		for(int i = 0; i < getArgumentCount(); i++) {			seq[i] = getArgument(i).eval(contextSequence, contextItem);//			System.out.println("found " + seq[i].getLength() + " for " + getArgument(i).pprint());		}		functionDef.setArguments(seq);		//		context.pushLocalContext(true);		LocalVariable mark = context.markLocalVariables();		try {			Sequence returnSeq = expression.eval(contextSequence, contextItem);			return returnSeq;		} catch(XPathException e) {			if(e.getLine() == 0)				e.setASTNode(getASTNode());			throw e;		} finally {//			context.popLocalContext();			context.popLocalVariables(mark);		}	}