if (buf == null) { buf =
DocumentSet docs = contextSet.getDocumentSet(); if (currentDocs == null || !(docs.equals(currentDocs))) { currentDocs = docs; currentSet =
	protected NodeSet getDescendants(		StaticContext 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 {			if (buf == null) {				buf =					(NodeSet) context.getBroker().findElementsByTagName(						ElementValue.ELEMENT, contextSet.getDocumentSet(),						test.getName());			}			return buf.selectAncestorDescendant(				contextSet,				NodeSet.DESCENDANT,				axis == Constants.DESCENDANT_SELF_AXIS,				inPredicate);		}	}