public Value eval(DocumentSet docs, NodeSet context, NodeProxy node) { NodeSet lval = (NodeSet)left.eval(docs, context, node).getNodeList();
public Value eval(StaticContext context, DocumentSet docs, NodeSet contextSet, NodeProxy contextNode) { NodeSet lval = (NodeSet)left.eval(context, docs, contextSet, contextNode).getNodeList();
	public Value eval(DocumentSet docs, NodeSet context, NodeProxy node) {		NodeSet lval = (NodeSet)left.eval(docs, context, node).getNodeList();		LOG.debug("left " + left.pprint() + " returned: " + lval.getLength());		NodeSet rval = (NodeSet)right.eval(docs, context, node).getNodeList();		LOG.debug("right " + right.pprint() + " returned: " + rval.getLength());		long start = System.currentTimeMillis();        NodeSet result = lval.union(rval);		LOG.debug("union found " + result.getLength() + " in "+ (System.currentTimeMillis() - start));		return new ValueNodeSet(result);	}