treeLevelStartPoints = new long[maxDepth + 1];   treeLevelStartPoints[0] = 1; treeLevelStartPoints[1] = 2; for (int i = 1; i < maxDepth; i++) { treeLevelStartPoints[i + 1] = (treeLevelStartPoints[i] - treeLevelStartPoints[i - 1]) * treeLevelOrder[i] + treeLevelStartPoints[i]; if(treeLevelStartPoints[i + 1] > 0x6fffffffffffffffL || treeLevelStartPoints[i + 1] < 0) throw new EXistException("the document is too complex/irregularily structured " + "to be mapped into eXist's numbering scheme"); }
calculateTreeLevelStartPoints(true);
	public void calculateTreeLevelStartPoints() throws EXistException {		treeLevelStartPoints = new long[maxDepth + 1];		// we know the start point of the root element (which is always 1)		// and the start point of the first non-root node (children + 1)		treeLevelStartPoints[0] = 1;		treeLevelStartPoints[1] = 2;		for (int i = 1; i < maxDepth; i++) {			treeLevelStartPoints[i + 1] =				(treeLevelStartPoints[i] - treeLevelStartPoints[i - 1]) * treeLevelOrder[i]					+ treeLevelStartPoints[i];			if(treeLevelStartPoints[i + 1] > 0x6fffffffffffffffL ||				treeLevelStartPoints[i + 1] < 0)				throw new EXistException("the document is too complex/irregularily structured " +					"to be mapped into eXist's numbering scheme");		}	}