processors = $processors; } /** * @inheritDoc */ public function process(SearchCriteriaInterface $searchCriteria, AbstractDb $collection) { foreach ($this->processors as $name => $processor) { if (!($processor instanceof CollectionProcessorInterface)) { throw new \InvalidArgumentException( sprintf('Processor %s must implement %s interface.', $name, CollectionProcessorInterface::class) ); } $processor->process($searchCriteria, $collection); } } }