public static function process(ArrayResolver $config)
    {
        $copy = $config->extract();
        $instances = $config->resolveArray('apply-templates', []);

        foreach ($instances as $name => $instance) {
            self::processTemplate($config, $copy, $name, $instance);
        }

        return new ArrayResolver($copy);
    }
public static function process(ArrayResolver $config)
    {
        $copy = $config->extract();
        $instances = $config->resolveArray('apply-templates', []);

        foreach ($instances as $name => $instance) {
            self::processTemplate($config, $copy, $name, $instance);
        }

        return new ArrayResolver($copy);
    }
public static function process ( ArrayResolver $ config ) { $ copy = $ config -> extract ( ) ; $ instances = $ config -> resolveArray ( 'apply-templates' , [ ] ) ; foreach ( $ instances as $ name => $ instance ) { self :: processTemplate ( $ config , $ copy , $ name , $ instance ) ; } return new ArrayResolver ( $ copy ) ; }
Processes a configuration node to expand the templates it contains.

@param ArrayResolver $config The node containing the configuration templates and templated instances.
@return ArrayResolver An array resolver containing the expanded templates.
Processes a configuration node to expand the templates it contains .