I found a bug yesterday while doing the 'lazy resolve" feature
for the classloading.
The issue is that we avoid recursive processing of a ControllerContext
by adding them to the "installing" Set inside AbstractController.
But this only traps invocations of install/uninstall.
If a recursion occurs during the checking that dependencies are resolved, it goes
into recursive death with a StackOverFlowException.
I'm going to change the mechanism such that while dependencies are being
resolved the context is also added to "installing". In fact, if the dependencies
are resolved, it should stay there, rather than rebuilding this from the
"resolvedContexts".