/**
  * Generates final resource name.
  *
  * @param string|bool $resource
  *
  * @return string
  */
 private function generateResourceName($resource)
 {
     if (false === $this->pluralize) {
         return $resource;
     }
     return $this->inflector->pluralize($resource);
 }
 /**
  * @param Route $route
  * @return array
  */
 private function convertRouteToConfig(Route $route)
 {
     $className = $route->getOption(self::RESOURCE_ENTITY_CLASS_OPTION);
     $converter = $this->defaultConverter;
     if ($route->hasOption(self::RESOURCE_CONVERTER_OPTION)) {
         $converter = $route->getOption(self::RESOURCE_CONVERTER_OPTION);
     }
     if ($route->hasOption(self::RESOURCE_SINGULAR_NAME)) {
         $singular = $route->getOption(self::RESOURCE_SINGULAR_NAME);
     } else {
         $classNameParts = explode('\\', $className);
         end($classNameParts);
         $singular = strtolower(current($classNameParts));
     }
     if ($route->hasOption(self::RESOURCE_PLURAL_NAME)) {
         $plural = $route->getOption(self::RESOURCE_PLURAL_NAME);
     } else {
         $plural = $this->inflector->pluralize($singular);
     }
     return ['route' => $route->getDefault('_route'), 'class' => $className, 'converter' => $converter, 'singular_name' => $singular, 'plural_name' => $plural];
 }