categoryRepository = $categoryRepository; $this->storeManager = $storeManager; $this->queryCheckers = $queryCheckers; foreach ($this->queryCheckers as $queryChecker) { if (!$queryChecker instanceof RequestCheckerInterface) { throw new \InvalidArgumentException( get_class($queryChecker) . ' does not implement ' . \Magento\CatalogSearch\Model\Adapter\Aggregation\RequestCheckerInterface::class ); } } } /** * @inheritdoc */ public function isApplicable(RequestInterface $request) { $result = true; foreach ($this->queryCheckers as $item) { /** @var RequestCheckerInterface $item */ $result = $item->isApplicable($request); if (!$result) { break; } } return $result; } }