protected function extractProperties(Request $request) : array
{
$needsFixing = false;
if (null !== $this->properties) {
foreach ($this->properties as $property => $value) {
if ($this->isPropertyNested($property) && $request->query->has(str_replace('.', '_', $property))) {
$needsFixing = true;
}
}
}
if ($needsFixing) {
$request = RequestParser::parseAndDuplicateRequest($request);
}
return $request->query->all();
}