code: public function apply(Request $request, ParamConverter $configuration)
      {
          $param = $this->getRequestAttributeName($request, $configuration);
  
          if (!$request->attributes->has($param)) {
              return false;
          }
  
          $value = $request->attributes->get($param);
  
          if (!$value && $configuration->isOptional()) {
              return false;
          }
  
          $convertedValue = $this->convertValue($value, $configuration);
  
          if (null === $convertedValue && false === $configuration->isOptional()) {
              throw new NotFoundHttpException(
                  "Unable to find '{$configuration->getClass()}' with identifier '{$value}' not found"
              );
          }
  
          $request->attributes->set($configuration->getName(), $convertedValue);
  
          return true;
      }
docs: Stores the object in the request.
  
  @param Request        $request
  @param ParamConverter $configuration Contains the name, class and options of the object
  
  @throws NotFoundHttpException
  @throws \InvalidArgumentException
  
  @return bool True if the object has been successfully set, else false