/** * @param StateHandlerRegistration $stateHandlerRegistration */ private function mapNewStateHandlerRegistration($stateHandlerRegistration) { $subscriptionGroups = $this->broker->getSubscriptionGroups(); /** @var SubscriptionGroup $subscriptionGroup */ foreach ($subscriptionGroups as $subscriptionGroup) { // only check groups without an existing state handler if (!$this->stateHandlerMap->contains($subscriptionGroup) || $this->stateHandlerMap->contains($subscriptionGroup) && $this->stateHandlerMap[$subscriptionGroup] === null) { if ($stateHandlerRegistration->handlesStateFor($subscriptionGroup)) { $this->stateHandlerMap[$subscriptionGroup] = $stateHandlerRegistration; } } } }