/**
  * @param ServiceLocatorInterface $serviceLocator
  *
  * @return AffiliationService
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $affiliationService = new AffiliationService();
     $affiliationService->setServiceLocator($serviceLocator);
     /** @var EntityManager $entityManager */
     $entityManager = $serviceLocator->get(EntityManager::class);
     $affiliationService->setEntityManager($entityManager);
     /** @var AdminService $adminService */
     $adminService = $serviceLocator->get(AdminService::class);
     $affiliationService->setAdminService($adminService);
     /** @var InvoiceService $invoiceService */
     $invoiceService = $serviceLocator->get(InvoiceService::class);
     $affiliationService->setInvoiceService($invoiceService);
     /** @var VersionService $versionService */
     $versionService = $serviceLocator->get(VersionService::class);
     $affiliationService->setVersionService($versionService);
     /** @var OrganisationService $organisationService */
     $organisationService = $serviceLocator->get(OrganisationService::class);
     $affiliationService->setOrganisationService($organisationService);
     /** @var Authorize $authorizeService */
     $authorizeService = $serviceLocator->get(Authorize::class);
     $affiliationService->setAuthorizeService($authorizeService);
     return $affiliationService;
 }