private function getDate(Request $request, Annotation $annotation, $type)
    {
        $nameMethod = 'get' . $type . 'Name';
        return $this->readValue(
                        $request,
                        $annotation->$nameMethod(),
                        $annotation->isRequired(),
                        $this->parseDate($annotation, 'default' . $type)
                )
                ->asDate(new DateRange(
                        $this->parseDate($annotation, "min{$type}Date"),
                        $this->parseDate($annotation, "max{$type}Date")
                )
        );
    }