LOG.debug("Found " + result.getLength() + " for " + pprint());
	protected NodeSet getDescendants(		XQueryContext context,		NodeSet contextSet) {		if (test.isWildcardTest()) {			// test is one out of *, text(), node()			VirtualNodeSet vset = new VirtualNodeSet(axis, test, contextSet);			vset.setInPredicate(inPredicate);			return vset;		} else {		    DocumentSet docs = getDocumentSet(contextSet);//		    DocumentSet docs = contextSet.getDocumentSet();			if (currentSet == null || currentDocs == null || !(docs.equals(currentDocs))) {				currentDocs = docs;				currentSet =					(NodeSet) context.getBroker().getElementIndex().findElementsByTagName(						ElementValue.ELEMENT, currentDocs,						test.getName(), null);			}			NodeSet result = currentSet.selectAncestorDescendant(				contextSet,				NodeSet.DESCENDANT,				axis == Constants.DESCENDANT_SELF_AXIS,				inPredicate);//			DocumentSet docs = contextSet.getDocumentSet();//			NodeSelector selector = axis == Constants.DESCENDANT_SELF_AXIS ?//			        new DescendantOrSelfSelector(contextSet, inPredicate) ://			    new DescendantSelector(contextSet, inPredicate);//			NodeSet result = context.getBroker().findElementsByTagName(//					ElementValue.ELEMENT, docs, test.getName(), selector//			);			return result;		}	}