/**
  * @inheritdoc
  */
 public function handle(ApiDoc $annotation, array $annotations, Route $route, \ReflectionMethod $method)
 {
     foreach ($annotations as $annot) {
         if ($annot instanceof RequestParam) {
             $requirements = $this->handleRequirements($annot->requirements);
             $data = array('required' => $annot->strict && $annot->nullable === false && $annot->default === null, 'dataType' => $requirements . ($annot->array ? '[]' : ''), 'actualType' => $this->inferType($requirements), 'subType' => null, 'description' => $annot->description, 'readonly' => false);
             if ($annot->strict === false) {
                 $data['default'] = $annot->default;
             }
             $annotation->addParameter($annot->name, $data);
         } elseif ($annot instanceof QueryParam) {
             if ($annot->strict && $annot->nullable === false && $annot->default === null) {
                 $annotation->addRequirement($annot->name, array('requirement' => $this->handleRequirements($annot->requirements) . ($annot->array ? '[]' : ''), 'dataType' => '', 'description' => $annot->description));
             } elseif ($annot->default !== null) {
                 $annotation->addFilter($annot->name, array('requirement' => $this->handleRequirements($annot->requirements) . ($annot->array ? '[]' : ''), 'description' => $annot->description, 'default' => $annot->default));
             } else {
                 $annotation->addFilter($annot->name, array('requirement' => $this->handleRequirements($annot->requirements) . ($annot->array ? '[]' : ''), 'description' => $annot->description));
             }
         }
     }
 }