code: public function getConfigTreeBuilder()
      {
          $tree_builder = new TreeBuilder();
          $tree_builder
              ->root('anime_db_cache_time_keeper')
                  ->children()
                      ->booleanNode('enable')
                          ->defaultTrue()
                      ->end()
                      ->scalarNode('use_driver')
                          ->cannotBeEmpty()
                          ->defaultValue('file')
                      ->end()
                      ->arrayNode('private_headers')
                          ->treatNullLike([])
                          ->prototype('scalar')->end()
                          ->defaultValue(['Authorization', 'Cookie'])
                      ->end()
                      ->append($this->getEtagHasher())
                      ->append($this->getTrack())
                      ->arrayNode('drivers')
                          ->append($this->getDriverFile())
                          ->append($this->getDriverMemcache())
                          ->append($this->getDriverMulti())
                          ->append($this->getDriverShmop())
                      ->end()
                  ->end();
  
          return $tree_builder;
      }
docs: Config tree builder.
  
  Example config:
  
  anime_db_cache_time_keeper:
  enable: true
  use_driver: 'file'
  private_headers: ['Authorization', 'Cookie']
  etag_hasher:
  driver: 'cache_time_keeper.cache_key_builder.default_etag_hasher'
  algorithm: sha256
  track:
  clear_cache: true
  individually_entity: false
  drivers:
  multi:
  fast: 'shmop'
  slow: 'file'
  shmop:
  salt: '%secret%'
  file:
  path: '%kernel.root_dir%/cache/cache-time-keeper/'
  memcache:
  prefix: 'cache_time_keeper_'
  hosts:
  - {host: 'localhost', port: 11211, weight: 100}
  
  @return TreeBuilder