public function build(array $config)
    {
        /** @var AbstractVariation[] $variations */
        $variations = [];

        foreach ($config as $name => $variation) {
            $variations[$name] = $this->factory->createNew($name, $variation);
        }

        return new ContainerVariation($this->buildTree($variations));
    }
public function build(array $config)
    {
        /** @var AbstractVariation[] $variations */
        $variations = [];

        foreach ($config as $name => $variation) {
            $variations[$name] = $this->factory->createNew($name, $variation);
        }

        return new ContainerVariation($this->buildTree($variations));
    }
@param array $config

@return VariationInterface

@throws Exception\CircularDependencyException
@throws \InvalidArgumentException