/**
  * @param ServerRequestInterface $request
  * @param ResponseInterface $response
  * @param callable|null $next
  * @return ResponseInterface
  */
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next = null)
 {
     $this->sessionManager->start();
     Container::setDefaultManager($this->sessionManager);
     $container = new Container('initialized');
     if (isset($container->init)) {
         return $next($request, $response);
     }
     $this->sessionManager->regenerateId(true);
     $container->init = true;
     if ($next) {
         return $next($request, $response);
     }
     return $response;
 }