ArraySet result = new ArraySet(context.getLength());
ArraySet result = new ArraySet(contextSet.getLength());
	protected NodeSet getSiblings(DocumentSet documents, NodeSet context) {		if (test.getType() == NodeTest.NAME_TEST) {			DBBroker broker = null;			try {				broker = pool.get();				if (buf == null)					buf = (NodeSet) broker.findElementsByTagName(documents, test.getName());				return context.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(context.getLength());			NodeProxy p;			NodeImpl n;			for(Iterator i = context.iterator(); i.hasNext(); ) {				p = (NodeProxy)i.next();				n = (NodeImpl)p.getNode();				while((n = getNextSibling(n)) != null) {					if(((TypeTest)test).isOfType(n.getNodeType()))						result.add(new NodeProxy((DocumentImpl)n.getOwnerDocument(),							n.getGID(), n.getInternalAddress()));				}			}			return result;		}	}