Receiver receiver = new Receiver(builder);
DocumentBuilderReceiver receiver = new DocumentBuilderReceiver(builder);
    public Sequence eval(Sequence contextSequence, Item contextItem)            throws XPathException {        System.out.println(content.pprint());        Sequence contentSeq = content.eval(contextSequence, contextItem);        context.pushDocumentContext();        MemTreeBuilder builder = context.getDocumentBuilder();        Receiver receiver = new Receiver(builder);                if(contentSeq.getLength() == 0)            return builder.getDocument();        try {	        StringBuffer buf = null;	        SequenceIterator i = contentSeq.iterate();	        Item next = i.nextItem();	        while(next != null) {	            context.proceed(this, builder);	            if(next.getType() == Type.ATTRIBUTE || next.getType() == Type.NAMESPACE ||	                    next.getType() == Type.DOCUMENT)	                throw new XPathException(getASTNode(), "Found a node of type " + Type.getTypeName(next.getType()) +	                        " inside a document constructor");	            // 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 == null)				        buf = new StringBuffer();					else if (buf.length() > 0)						buf.append(' ');					buf.append(next.getStringValue());					next = i.nextItem();				// if item is a node, flush any collected character data and				//	copy the node to the target doc. 				} else if (Type.subTypeOf(next.getType(), Type.NODE)) {					if (buf != null && buf.length() > 0) {						receiver.characters(buf);						buf.setLength(0);					}					next.copyTo(context.getBroker(), receiver);					next = i.nextItem();				}	        }	        // flush remaining character data			if (buf != null && buf.length() > 0)				receiver.characters(buf);        } catch(SAXException e) {			throw new XPathException(getASTNode(),				"Encountered SAX exception while processing document constructor: "					+ pprint());        }        NodeImpl node =  builder.getDocument();        context.popDocumentContext();        return node;    }