/** * @param string $eventId * @param array $orderItemIds * @param array $data * * @return array */ public function triggerEventForOrderItems($eventId, array $orderItemIds, $data) { $identifier = $this->buildIdentifierForOrderItemIdsLock($orderItemIds); $this->triggerLocker->acquire($identifier); try { $triggerEventResult = $this->stateMachine->triggerEventForOrderItems($eventId, $orderItemIds, $data); } finally { $this->triggerLocker->release($identifier); } return $triggerEventResult; }