processors = $processors; } /** * Retrieve all LineItemProcessors * * @return InvoiceProcessorInterface[] */ public function getProcessors() { return $this->processors; } /** * Use a pool of InvoiceItemProcessors * * @param RequestInterface $request * @param InvoiceInterface $invoice * @return RequestInterface */ public function process(RequestInterface $request, InvoiceInterface $invoice) { foreach ($this->getProcessors() as $processor) { $request = $processor->process($request, $invoice); } return $request; } }