/**
  * Factory method to create a new container instance.
  *
  * @param \AppserverIo\Appserver\Core\Interfaces\ApplicationServerInterface $applicationServer The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ContainerNodeInterface       $configuration     The class loader configuration
  *
  * @return void
  */
 public static function factory(ApplicationServerInterface $applicationServer, ContainerNodeInterface $configuration)
 {
     // create a new reflection class instance
     $reflectionClass = new \ReflectionClass($configuration->getType());
     // initialize the container configuration with the base directory and pass it to the thread
     $params = array($applicationServer->getInitialContext(), $applicationServer->getNamingDirectory(), $configuration);
     // create and append the thread instance to the internal array
     return $reflectionClass->newInstanceArgs($params);
 }
 /**
  * Factory method to create a new container instance.
  *
  * @param \AppserverIo\Appserver\Core\Interfaces\ApplicationServerInterface $applicationServer The application instance to register the class loader with
  * @param \AppserverIo\Appserver\Core\Api\Node\ContainerNodeInterface       $configuration     The class loader configuration
  * @param integer                                                           $runlevel          The runlevel the container has been started in
  *
  * @return void
  */
 public static function factory(ApplicationServerInterface $applicationServer, ContainerNodeInterface $configuration, $runlevel = ApplicationServerInterface::NETWORK)
 {
     // create a new reflection class instance
     $reflectionClass = new \ReflectionClass($configuration->getType());
     // initialize the container configuration with the base directory and pass it to the thread
     $params = array($applicationServer->getInitialContext(), $applicationServer->getNamingDirectory(), $configuration, $applicationServer->runlevelToString($runlevel));
     // create, initialize and return the container instance
     return $reflectionClass->newInstanceArgs($params);
 }