/**
  * Inject the renderer, if needed, and potentially the escaper.
  *
  * @param array $config
  * @param Mustache $mustache
  * @param ContainerInterface $container
  */
 private function injectRenderer(array $config, Mustache $mustache, ContainerInterface $container)
 {
     if (isset($config['renderer'])) {
         if (is_string($config['renderer']) && $container->has($config['renderer'])) {
             // Assume fully configured at this point.
             $mustache->setRenderer($container->get($config['renderer']));
             return;
         }
         if ($config['renderer'] instanceof Renderer) {
             $mustache->setRenderer($config['renderer']);
         }
         if (is_string($config['renderer']) && class_exists($config['renderer'])) {
             $mustache->setRenderer(new $config['renderer']());
         }
     }
     if (!isset($config['escaper'])) {
         return;
     }
     if ($config['escaper'] instanceof Escaper) {
         $mustache->getRenderer()->setEscaper($config['escaper']);
         return;
     }
     if (!is_string($config['escaper'])) {
         return;
     }
     if ($container->has($config['escaper'])) {
         $mustache->getRenderer()->setEscaper($container->get($config['escaper']));
         return;
     }
     if (class_exist($config['escaper'])) {
         $mustache->getRenderer()->setEscaper(new $config['escaper']());
         return;
     }
 }