public ScopedContainerComposer(PicoContainer configuration) throws ClassNotFoundException {
ScopedContainerConfigurator config = getConfigurator(configuration);
containerBuilderClassName = config.getContainerBuilder();
MutablePicoContainer applicationContainerPrototype = new DefaultPicoContainer();
applicationRecorder = new DefaultContainerRecorder(applicationContainerPrototype);
populateContainer(config.getApplicationConfig(), applicationRecorder, null);
MutablePicoContainer sessionContainerPrototype = new DefaultPicoContainer(applicationContainerPrototype);
sessionRecorder = new DefaultContainerRecorder(sessionContainerPrototype);
populateContainer(config.getSessionConfig(), sessionRecorder, applicationContainerPrototype);
MutablePicoContainer requestContainerPrototype = new DefaultPicoContainer(sessionContainerPrototype);
requestRecorder = new DefaultContainerRecorder(requestContainerPrototype);
populateContainer(config.getRequestConfig(), requestRecorder, sessionContainerPrototype);
}