Author: Tim Wagner (tw@appserver.io)
Inheritance: extends AppserverIo\Appserver\Core\AbstractManager, implements AppserverIo\Psr\EnterpriseBeans\PersistenceContextInterface, implements AppserverIo\Appserver\Application\Interfaces\ManagerSettingsAwareInterface
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // initialize the stackable for the entity managers
     $entityManagers = new GenericStackable();
     // initialize the persistence manager instance
     $persistenceManager = new PersistenceManager();
     $persistenceManager->injectApplication($application);
     $persistenceManager->injectEntityManagers($entityManagers);
     // attach the instance
     $application->addManager($persistenceManager, $managerConfiguration);
 }
 /**
  * The main method that creates new instances in a separate context.
  *
  * @param \AppserverIo\Psr\Application\ApplicationInterface         $application          The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration
  *
  * @return void
  */
 public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration)
 {
     // initialize the stackable for the entity managers
     $entityManagers = new GenericStackable();
     // initialize the default settings for the persistence units
     $persistenceManagerSettings = new PersistenceManagerSettings();
     $persistenceManagerSettings->mergeWithParams($managerConfiguration->getParamsAsArray());
     // initialize the persistence manager instance
     $persistenceManager = new PersistenceManager();
     $persistenceManager->injectApplication($application);
     $persistenceManager->injectEntityManagers($entityManagers);
     $persistenceManager->injectManagerSettings($persistenceManagerSettings);
     // create the naming context and add it the manager
     $contextFactory = $managerConfiguration->getContextFactory();
     $contextFactory::visit($persistenceManager);
     // attach the instance
     $application->addManager($persistenceManager, $managerConfiguration);
 }