(ArrayGenerator) repo.generatorFor(
new GenericArrayTypeImpl(parameterized(Box.class).on(extendsOf(Object.class))));
Generator<?> arrayElementGenerator = generator.componentGenerator();
assertGenerators(arrayElementGenerator, BoxGenerator.class);
BoxGenerator boxGenerator = (BoxGenerator) componentOf(arrayElementGenerator, 0);
Generator<?> listElementGenerator = boxGenerator.componentGenerators().get(0);
assertGenerators(listElementGenerator, TestCallableGenerator.class);
TestCallableGenerator<?> callableGenerator = (TestCallableGenerator<?>) componentOf(listElementGenerator, 0);
Generator<?> callableResultGenerator = callableGenerator.componentGenerators().get(0);
assertGenerators(callableResultGenerator, ZilchGenerator.class);
}