private function buildBaseCriteria(array $parameters)
    {
        $criteriaGrouped = [[]];

        foreach ($parameters as $name => $value) {
            switch ($name) {
                case 'content_type':
                case 'depth':
                case 'main':
                case 'parent_location_id':
                case 'priority':
                case 'publication_date':
                case 'section':
                case 'subtree':
                case 'visible':
                    $definitions = $this->getCriterionDefinitionResolver()->resolve($name, $value);
                    break;
                case 'field':
                case 'state':
                    $definitions = $this->getCriterionDefinitionResolver()->resolveTargets($name, $value);
                    break;
                default:
                    continue 2;
            }

            $criteriaGrouped[] = $this->getCriteriaBuilder()->build($definitions);
        }

        return array_merge(...$criteriaGrouped);
    }