private function addSessionSupportSection()
    {
        $tree = new TreeBuilder();
        $node = $tree->root('session');

        $node
            ->children()
                ->scalarNode('pool')->isRequired()->end()
                ->booleanNode('auto_load')->defaultTrue()->end()
                ->scalarNode('prefix')->defaultValue('lmbs')->end()
                ->scalarNode('ttl')->end()
                ->booleanNode('locking')->defaultTrue()->end()
                ->scalarNode('spin_lock_wait')->defaultValue(150000)->end()
                ->scalarNode('lock_max_wait')
                    ->defaultNull()
                    ->validate()
                    ->always(function($v) {
                        if (null === $v) {
                            return $v;
                        }

                        if (!is_numeric($v)) {
                            throw new InvalidConfigurationException("Option 'lock_max_wait' must either be NULL or an integer value");
                        }

                        return (int) $v;
                    })
                ->end()
            ->end()
        ->end();

        return $node;
    }