protected function getControllers()
    {
        if (!$this->controllersCache) {
            $isHidden = $this->getControllerMethod('isMethodHidden');
            $methods = $this->reflectedController->getMethods(\ReflectionMethod::IS_PUBLIC);
            $controllers = [];
            foreach ($methods as $method) {
                if (preg_match('/(\w+)Controller$/', $method->getName(), $parts)) {
                    if (!$isHidden($method->getName())) {
                        $controllers[] = $this->camelcaseToHyphenated($parts[1]);
                    }
                }
            }
            $this->controllersCache = $controllers;
        }
        return $this->controllersCache;
    }