public Node insertBefore(NodeList nodes, Node refChild) throws DOMException {
public void insertBefore(NodeList nodes, Node refChild) throws DOMException {
	public Node insertBefore(NodeList nodes, Node refChild) throws DOMException {		if (!(refChild instanceof NodeImpl))			throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, "wrong node type");		NodeImpl ref = (NodeImpl) refChild;		long next, last = -1;		int idx = -1;		for(int i = children - 1; i > -1; i--) {		    next = childList[i];			if (StorageAddress.equals(ref.internalAddress, next)) {				idx = i - 1;				break;			}		}		if (idx < 0)			throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR, "reference node not found");		last = childList[idx];		NodeImpl prev = (NodeImpl) broker.objectWith(new NodeProxy(this, 0, last));		for (int i = 0; i < nodes.getLength(); i++) {			prev = (NodeImpl) appendChild(prev, nodes.item(i));			++children;			resizeChildList();			childList[++idx] = prev.internalAddress;		}		broker.storeDocument(this);		return prev;	}