REZ.getString( "builder.creating-info.notice", classname );
REZ.format( "builder.creating-info.notice", classname );
    private ComponentInfo buildComponentInfo( final String classname,                                              final Configuration info )        throws Exception    {        if( getLogger().isDebugEnabled() )        {            final String message =                REZ.getString( "builder.creating-info.notice",                               classname );            getLogger().debug( message );        }        final String topLevelName = info.getName();        if( !topLevelName.equals( "component-info" ) )        {            final String message =                REZ.format( "builder.bad-toplevel-element.error",                            classname,                            topLevelName );            throw new ConfigurationException( message );        }        Configuration configuration = null;        configuration = info.getChild( "component" );        final ComponentDescriptor descriptor = buildComponentDescriptor( configuration );        final String implementationKey = descriptor.getImplementationKey();        configuration = info.getChild( "loggers" );        final LoggerDescriptor[] loggers = buildLoggers( configuration );        configuration = info.getChild( "context" );        final ContextDescriptor context = buildContext( configuration );        configuration = info.getChild( "services" );        final ServiceDescriptor[] services = buildServices( configuration );        configuration = info.getChild( "dependencies" );        final DependencyDescriptor[] dependencies =            buildDependencies( implementationKey, configuration );        configuration = info.getChild( "configuration-schema", false );        final SchemaDescriptor configurationSchema = buildSchema( configuration );        configuration = info.getChild( "parameters-schema", false );        final SchemaDescriptor parametersSchema = buildSchema( configuration );        if( getLogger().isDebugEnabled() )        {            final String message =                REZ.format( "builder.created-info.notice",                            implementationKey,                            new Integer( services.length ),                            new Integer( dependencies.length ),                            new Integer( context.getEntrys().length ),                            new Integer( loggers.length ) );            getLogger().debug( message );        }        return new ComponentInfo( descriptor, services,                                  loggers, context, dependencies,                                  configurationSchema, parametersSchema );    }