protected function validateContentCriteria(array $criteria, $argumentName) { foreach ($criteria as $criterion) { if ($criterion instanceof LocationCriterion) { throw new InvalidArgumentException($argumentName, 'Location criterions cannot be used in Content search'); } if ($criterion instanceof LogicalOperator) { $this->validateContentCriteria($criterion->criteria, $argumentName); } } }