dispatchTyped($event); } /** * @return OrganizationProvider[] */ public function getOrganizationProviders(): array { return $this->organizationProviders; } /** * @return bool */ public function hasOrganizationProvider($id): bool { return array_key_exists($id, $this->organizationProviders); } /** * @return OrganizationProvider * @throws OrganizationProviderNotFound */ public function getOrganizationProvider($id): OrganizationProvider { $organizationProvider = $this->organizationProviders[$id]; if(isset($organizationProvider)) { return $organizationProvider; } else { throw new OrganizationProviderNotFound($id); } } public function registerOrganizationProvider(OrganizationProvider $organizationProvider): self { $this->organizationProviders[$organizationProvider->getId()] = $organizationProvider; return $this; } }