/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $orderItems * @param array $data * * @return array */ public function triggerEventForNewItem(array $orderItems, $data) { $identifier = $this->buildIdentifierForOrderItemsLock($orderItems); $this->triggerLocker->acquire($identifier); try { $triggerEventResult = $this->stateMachine->triggerEventForNewItem($orderItems, $data); } finally { $this->triggerLocker->release($identifier); } return $triggerEventResult; }