return topChosen;
}
private FakeBlock create(FakeBlock.Factory with) {
boolean isZero = random.nextDouble() < zeroProbability;
Dimensions childSize = isZero ? Dimensions.zero() : Dimensions.create(random);
FakeBlock child = with.create(name(), childSize);
return child;
}