Info info, Classpath classpath, Element strategy, Resolver resolver ) throws IOException
Logger logger, Info info, Classpath classpath, Element strategy, Resolver resolver ) throws IOException
    public Part build(       Info info, Classpath classpath, Element strategy, Resolver resolver ) throws IOException    {        if( getLogger().isTraceEnabled() )        {            String path = getPartSpec( info.getURI() );            getLogger().trace( "new composition: " + path );        }        ClassLoader context = Thread.currentThread().getContextClassLoader();        try        {            ClassLoader anchor = Component.class.getClassLoader();            Thread.currentThread().setContextClassLoader( anchor );            ComponentDecoder decoder = new ComponentDecoder();            ComponentDirective directive = decoder.buildComponent( strategy, resolver );            Logger logger = getLogger();            return new DefaultComposition( logger, info, classpath, this, directive );        }        finally        {            Thread.currentThread().setContextClassLoader( context );        }    }