public function map(ContentView $contentView)
{
if (!$contentView instanceof ContentView) {
throw new InvalidArgumentException('ContentView expected');
}
if (!$contentView->hasParameter('query')) {
throw new InvalidArgumentException('query', "Missing required 'query' view parameter");
}
$queryOptions = $contentView->getParameter('query');
$queryType = $this->queryTypeRegistry->getQueryType($queryOptions['query_type']);
return $queryType->getQuery($this->extractParameters($contentView));
}