docs: private int indexNodes(int startIndex) {
      if (index() < 0) {		// if this node has no index
        if (tg != null) {
          tg.addNodeToIndexMap(startIndex, this);
        }
        setIndex(startIndex++);
      }
      if (!isLeaf()) {
        for (int i = 0; i < children.length; i++) {
          startIndex = children[i].indexNodes(startIndex);
        }
      }
      return startIndex;
    }