private void computeNodeIds() throws EXistException {
if (nodeId[0] != null) {
return;
}
final NodeIdFactory nodeFactory = getDatabase().getNodeFactory();
nodeId[0] = nodeFactory.documentNodeId();
if (size == 1) {
return;
}
NodeId nextId = nodeFactory.createInstance();
NodeImpl next = (NodeImpl)getFirstChild();
while (next != null) {
computeNodeIds(nextId, next.nodeNumber);
next = (NodeImpl)next.getNextSibling();
nextId = nextId.nextSibling();