node = nodes[ random.nextDiscrete(weights, sum) ];
// If we have picked an internal node, we need to
// add a new path.
while (! node.isLeaf()) {
node = node.selectExisting();
//node = nodes[ random.nextDiscrete(weights, sum) ];
}
//node.addPath();
leaveNode = node;