/** * Create a new immutable PicoContainer proxy. The proxy will completly hide the implementation of the given * {@link PicoContainer} and will also prevent the invocation of any methods of the lifecycle methods from * {@link Startable} or {@link Disposable}. * * @param pico * @return the new proxy * @throws NullPointerException if <tt>pico</tt> is <code>null</code> * @since 1.2 */ public static PicoContainer newProxyInstance(final PicoContainer pico) { return (PicoContainer)Proxy.newProxyInstance( PicoContainer.class.getClassLoader(), interfaces, new ImmutablePicoContainerProxyFactory(pico)); } }