value = (Value) iterator.next(); child = NodeImpl.deserialize(value.getData(), doc);
child = (NodeImpl) iterator.next();
	private void scanNodes(Iterator iterator, NodeImpl node, String currentPath) {		if (node.getNodeType() == Node.ELEMENT_NODE)			currentPath = currentPath + '/' + node.getNodeName();		reindex(node, currentPath);		if (node.hasChildNodes()) {			final long firstChildId =				XMLUtil.getFirstChildId((DocumentImpl) node.getOwnerDocument(), node.getGID());			if (firstChildId < 0) {				LOG.fatal(					"no child found: expected = "						+ node.getChildCount()						+ "; node = "						+ node.getNodeName()						+ "; gid = "						+ node.getGID());				throw new IllegalStateException("wrong node id");			}			final long lastChildId = firstChildId + node.getChildCount();			final DocumentImpl doc = (DocumentImpl) node.getOwnerDocument();			long p;			Value value;			NodeImpl child;			for (long gid = firstChildId; gid < lastChildId; gid++) {				value = (Value) iterator.next();				child = NodeImpl.deserialize(value.getData(), doc);				child.setGID(gid);				child.setOwnerDocument(doc);				child.setInternalAddress(value.getAddress());				scanNodes(iterator, child, currentPath);			}		}	}