buf.getDescendants(
buf.selectAncestorDescendant(
	protected NodeSet getAttributes(		StaticContext context,		DocumentSet documents,		NodeSet contextSet) {		NodeSet result;		if (test.isWildcardTest()) {			result = new VirtualNodeSet(axis, test, contextSet);			((VirtualNodeSet) result).setInPredicate(inPredicate);		} else {			if (buf == null) {				buf =					(NodeSet) context.getBroker().getAttributesByName(						documents,						test.getName());			}			if (axis == Constants.DESCENDANT_ATTRIBUTE_AXIS)				result =					buf.getDescendants(						contextSet,						ArraySet.DESCENDANT,						inPredicate);			else				result =					buf.getChildren(						contextSet,						ArraySet.DESCENDANT,						inPredicate);			LOG.debug("found " + result.getLength() + " attributes");			//		} else {			//				Node n;			//				Node attr;			//				NamedNodeMap map;			//				result = new ArraySet(contextSet.getLength());			//				for (int i = 0; i < contextSet.getLength(); i++) {			//					n = contextSet.item(i);			//					if (n.getNodeType() == Node.ELEMENT_NODE) {			//						map = ((Element) n).getAttributes();			//						for (int j = 0; j < map.getLength(); j++) {			//							attr = map.item(j);			//							result.add(attr);			//						}			//					}			//				}		}		return result;	}