code: public void dispose() {
  		if (disposed)
  			throw new IllegalStateException("Already disposed");
  
  		for (Iterator iterator = children.iterator(); iterator.hasNext();) {
  			PicoContainer child = (PicoContainer) iterator.next();
  			child.dispose();
  		}
  		Collection<ComponentAdapter> adapters = getComponentAdapters();
  		for (ComponentAdapter componentAdapter : adapters) {
  			if (componentAdapter instanceof LifecycleStrategy) {
  				((LifecycleStrategy) componentAdapter).dispose(getInstance(componentAdapter));
  			}
  		}
  		disposed = true;
  	}
docs: Dispose the components of this PicoContainer and all its logical child
  containers. Any component implementing the lifecycle interface
  {@link org.picocontainer.Disposable} will be disposed.
  
  @see #makeChildContainer()
  @see #addChildContainer(PicoContainer)
  @see #removeChildContainer(PicoContainer)