When the UberBuilder is asked to resolve a Factory it searches the child builders factories field. Instead it should call resolveFactory on the child builder.
The reason is that some builders hide factories inside the parent factory and have the builder check this in the builder's resolveFactory method. Two examples are JMXBuilder and 0.3 groovyfx builds. This is actually critical for JavaFX support since the animation DSL is implemented in this fashion.