/**
  * __invoke
  *
  * Create the entity service.
  *
  * @param  EntityServiceManager  $entityServiceManager  The entity service manager.
  * @param  string                $name                  The name of the service to create.
  * @param  string                $requestedName         The requested name of the service to create.
  *
  * @return EntityServiceInterface
  */
 public function __invoke(EntityServiceManager $entityServiceManager, $name, $requestedName)
 {
     /** @var ServiceManager $serviceManager */
     $serviceManager = $entityServiceManager->getServiceLocator();
     $options = $this->getEntityServiceOptions($serviceManager, $requestedName);
     $entityManager = $this->getObjectManager($serviceManager, $options->getObjectManagerName(), $requestedName);
     $repository = $this->getRepository($entityManager, $options->getRepositoryName(), $requestedName);
     // Create the service
     $entityService = $this->createObject($serviceManager, $options->getClassName(), $repository, $this->getFormElementProvider($serviceManager, $options->getFormProviderName()), $this->getViewTemplateProvider($serviceManager, $options->getViewTemplateProviderName(), $requestedName), $options);
     $this->attachStrategies($serviceManager, $entityService, $options->getStrategies());
     //$searchService = $options->getSearchServiceName();
     //if (! empty($searchService) && $entityService instanceof SearchableInterface) {
     //    $entityService->setSearchService($this->getSearchService($serviceManager, $repository, $searchService));
     //}
     return $entityService;
 }
 /**
  * createService
  *
  * Create the entity service manager
  *
  * @param  ServiceManager  $serviceManager
  * @param  string          $name
  * @param  string          $requestedName
  *
  * @return EntityServiceManager
  */
 public function __invoke(ServiceManager $serviceManager, $name, $requestedName)
 {
     $entityServiceManager = new EntityServiceManager();
     $entityServiceManager->setServiceLocator($serviceManager);
     return $entityServiceManager;
 }