/**
  * Returns the baseRouteName used to generate the routing information.
  *
  * @throws \RuntimeException
  *
  * @return string the baseRouteName used to generate the routing information
  */
 public function getBaseRouteName()
 {
     try {
         return parent::getBaseRouteName();
     } catch (\RuntimeException $e) {
         if (!$this->baseRouteName) {
             preg_match('@([A-Za-z0-9]*)\\\\([A-Za-z0-9]*)Bundle\\\\(Propel)\\\\(.*)@', $this->getClass(), $matches);
             if (!$matches) {
                 throw new \RuntimeException(sprintf('Please define a default `baseRouteName` value for the admin class `%s`', get_class($this)));
             }
             if ($this->isChild()) {
                 // the admin class is a child, prefix it with the parent route name
                 $this->baseRouteName = sprintf('%s_%s', $this->getParent()->getBaseRouteName(), $this->urlize($matches[4]));
             } else {
                 $this->baseRouteName = sprintf('admin_%s_%s_%s', $this->urlize($matches[1]), $this->urlize($matches[2]), $this->urlize($matches[4]));
             }
         }
         return $this->baseRouteName;
     }
 }