/**
  * {@inheritDoc}
  */
 public function createServiceWithName(ServiceLocatorInterface $controllers, $name, $requestedName)
 {
     $requestedName = $this->getCannonicalName($requestedName, $controllers->getCanonicalNames());
     if (!$this->canCreateServiceWithName($controllers, $name, $requestedName)) {
         throw new \BadMethodCallException('This abstract factory can\'t create controller ' . 'for "' . $requestedName . '"');
     }
     $services = $controllers->getServiceLocator();
     return $this->createControllerWithName($services, $requestedName);
 }