ElementValue.ELEMENT, contextSet.getDocumentSet(),
ElementValue.ELEMENT, currentDocs,
	protected NodeSet getSiblings(		StaticContext context,		NodeSet contextSet) {		if (!test.isWildcardTest()) {			if (buf == null) {				buf =					(NodeSet) context.getBroker().findElementsByTagName(						ElementValue.ELEMENT, contextSet.getDocumentSet(),						test.getName());			}			return contextSet.selectSiblings(				buf,				axis == Constants.PRECEDING_SIBLING_AXIS					? NodeSet.PRECEDING					: NodeSet.FOLLOWING);		} else {			ArraySet result = new ArraySet(contextSet.getLength());			NodeProxy p;			NodeImpl n;			for (Iterator i = contextSet.iterator(); i.hasNext();) {				p = (NodeProxy) i.next();				n = (NodeImpl) p.getNode();				while ((n = getNextSibling(n)) != null) {					if (test.matches(n))						result.add(							new NodeProxy(								(DocumentImpl) n.getOwnerDocument(),								n.getGID(),								n.getInternalAddress()));				}			}			return result;		}	}