public function process(ContainerBuilder $container)
    {
        $traverserConfigurator = $container->findDefinition('grumphp.parser.php.configurator.traverser');
        foreach ($container->findTaggedServiceIds(self::TAG) as $id => $tags) {
            $definition = $container->findDefinition($id);
            $this->markServiceAsPrototype($definition);
            foreach ($tags as $tag) {
                $alias = array_key_exists('alias', $tag) ? $tag['alias'] : $id;
                $traverserConfigurator->addMethodCall('registerVisitorId', [$alias, $id]);
            }
        }
    }