code: 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;
      }
docs: Lists child controllers the controller provides.
  
  It is the controller name, not the method name that is given. If the
  controller has been "hidden" by the controller, it will not be listed.
  
  @return array