/**
  * Contextualize the admin class depends on the current request
  *
  * @throws \RuntimeException
  * @return void
  */
 public function configure()
 {
     $adminCode = $this->container->get('request')->get('_sonata_admin');
     if (!$adminCode) {
         throw new \RuntimeException(sprintf('There is no `_sonata_admin` defined for the controller `%s` and the current route `%s`', get_class($this), $this->container->get('request')->get('_route')));
     }
     $this->admin = $this->container->get('sonata.admin.pool')->getAdminByAdminCode($adminCode);
     if (!$this->admin) {
         throw new \RuntimeException(sprintf('Unable to find the admin class related to the current controller (%s)', get_class($this)));
     }
     $rootAdmin = $this->admin;
     if ($this->admin->isChild()) {
         $this->admin->setCurrentChild(true);
         $rootAdmin = $rootAdmin->getParent();
     }
     $rootAdmin->setRequest($this->container->get('request'));
 }