public void Stop() { if (disposed) { throw new ApplicationException("Already disposed"); } if (!started) { throw new ApplicationException("Not started"); } foreach (DictionaryEntry child in children) { IPicoContainer pico = (IPicoContainer)child.Value; pico.Stop(); } lifecycleManager.Stop(this); started = false; }