StaticContext context,
	public Sequence eval(		StaticContext context,		DocumentSet docs,		Sequence contextSequence,		Item contextItem)		throws XPathException {		long start = System.currentTimeMillis();		MemTreeBuilder builder = context.getDocumentBuilder();		Receiver receiver = new Receiver(builder);		Sequence result =			super.eval(context, docs, contextSequence, contextItem);		start = System.currentTimeMillis();		Item next;		StringBuffer buf = new StringBuffer();		for (SequenceIterator i = result.iterate(); i.hasNext();) {			next = i.nextItem();			try {				// if item is an atomic value, collect the string values of all				// following atomic values and seperate them by a space. 				if(Type.subTypeOf(next.getType(), Type.ATOMIC)) {					if(buf.length() == 0)						buf.append(' ');					buf.append(next.getStringValue());				} else {					if(buf.length() > 0) {						receiver.characters(buf);						buf.setLength(0);					}					next.toSAX(context.getBroker(), receiver);				}			} catch (SAXException e) {				throw new XPathException("SAX exception while evaluating enclosed expression");			}		}		return result;	}