private function _controllerFor($name)
{
if (isset($this->_controllers[$name]) && is_string($this->_controllers[$name])) {
return $this->_controllerFor($this->_controllers[$name]);
} else {
if (isset($this->_controllers[$name]) && is_object($this->_controllers[$name])) {
return $this->_controllers[$name];
} else {
if (isset($this->_controllerFactory)) {
return $this->_controllerFactory->resolve($name);
} else {
throw new Exception("No controller found for {$name}");
}
}
}
}