/**
  * Page callback to output a token tree as an empty page.
  */
 function outputTree(Request $request)
 {
     $options = $request->query->has('options') ? Json::decode($request->query->get('options')) : [];
     // The option token_types may only be an array OR 'all'. If it is not set,
     // we assume that only global token types are requested.
     $token_types = !empty($options['token_types']) ? $options['token_types'] : [];
     if ($token_types == 'all') {
         $build = $this->treeBuilder->buildAllRenderable($options);
     } else {
         $build = $this->treeBuilder->buildRenderable($token_types, $options);
     }
     $build['#cache']['contexts'][] = 'url.query_args:options';
     $build['#title'] = $this->t('Available tokens');
     return $build;
 }