((Double) (Math.floor(rand.nextDouble() * (oldLevel.size()))))
.intValue();
addEdge(tree, actualNodeNum, oldLevel.get(randomParent));
nodesOnLevel.add(actualNodeNum);
actualNodeNum++;
AbstractNormalDistribution normDist =
new NormalDistribution(rand, 0., 1.);
for (int i : oldLevel) {
randomNumber =
approxNumberOfChildren + 0.25 * approxNumberOfChildren
* normDist.getRandomNumber();
while (randomNumber > 0.5 && actualNodeNum < numOfNodes) {
addEdge(tree, actualNodeNum, i);
nodesOnLevel.add(actualNodeNum);
actualNodeNum++;