/**
  * Invocation
  *
  * Dispatch the middlewares of the route requested
  *
  * @param ServerRequestInterface $request Request
  * @param ResponseInterface $response Response
  * @param TornadoHttp $next Next Middleware - TornadoHttp container
  * @return ResponseInterface
  */
 public function __invoke(ServerRequestInterface $request, ResponseInterface $response, TornadoHttp $next)
 {
     $index = $next->getMiddlewareIndex();
     $routeMiddlewares = $this->routes[$request->getAttribute(Router::REGISTER_KEY)]['middlewares'];
     foreach ($routeMiddlewares as $middleware) {
         $next->add($middleware, null, null, null, $index++);
     }
     return $next($request, $response);
 }