return buf.getDescendants( contextSet, ArraySet.DESCENDANT, axis == Constants.DESCENDANT_SELF_AXIS, inPredicate);
	protected NodeSet getDescendants(		StaticContext context,		DocumentSet documents,		NodeSet contextSet) {		if (!test.isWildcardTest()) {			DBBroker broker = null;			try {				broker = pool.get();				if (buf == null) {					buf = (NodeSet) broker.findElementsByTagName(documents, test.getName());				}				return buf.getDescendants(					contextSet,					ArraySet.DESCENDANT,					axis == Constants.DESCENDANT_SELF_AXIS,					inPredicate);			} catch (EXistException e) {				e.printStackTrace();				return null;			} finally {				pool.release(broker);			}		} else {			VirtualNodeSet vset = new VirtualNodeSet(axis, test, contextSet);			vset.setInPredicate(inPredicate);			return vset;		}	}