public function registerToContainer(ContainerBuilder $container, string $servicePrefix): void
    {
        $this->process();
        $servicePrefix = rtrim($servicePrefix, '.').'.';

        foreach ($this->sections as $name => $config) {
            $container->setParameter($servicePrefix.$name.'.is_secure', $config->isSecure);
            $container->setParameter($servicePrefix.$name.'.channel', $config->isSecure ? 'https' : null);
            $container->setParameter($servicePrefix.$name.'.domain', $config->domain);
            $container->setParameter($servicePrefix.$name.'.host', $config->host);
            $container->setParameter($servicePrefix.$name.'.host_pattern', $config->hostPattern);
            $container->setParameter($servicePrefix.$name.'.requirements', $config->requirements);
            $container->setParameter($servicePrefix.$name.'.defaults', $config->defaults);
            $container->setParameter($servicePrefix.$name.'.prefix', $config->prefix);
            $container->setParameter($servicePrefix.$name.'.path', $config->path);
            $container->register($servicePrefix.$name.'.request_matcher', RequestMatcher::class)->setArguments(
                [
                    $container->getParameterBag()->escapeValue($config->path),
                    $container->getParameterBag()->escapeValue($config->hostPattern),
                ]
            );
        }
    }