return contextSet.getSiblings( buf, axis == Constants.PRECEDING_SIBLING_AXIS ? NodeSet.PRECEDING : NodeSet.FOLLOWING);
	protected NodeSet getSiblings(		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 contextSet.getSiblings(					buf,					axis == Constants.PRECEDING_SIBLING_AXIS						? NodeSet.PRECEDING						: NodeSet.FOLLOWING);			} catch (EXistException e) {				LOG.debug(e.getMessage(), e);				return null;			} finally {				pool.release(broker);			}		} 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;		}	}