original_string: public function push(MiddlewareInterface $middleware): self
      {
          $stack = clone $this;
          array_unshift($stack->middlewares, $middleware);
          return $stack;
      }
code: public function push(MiddlewareInterface $middleware): self
      {
          $stack = clone $this;
          array_unshift($stack->middlewares, $middleware);
          return $stack;
      }
code_tokens: public function push ( MiddlewareInterface $ middleware ) : self { $ stack = clone $ this ; array_unshift ( $ stack -> middlewares , $ middleware ) ; return $ stack ; }
docstring: Creates a new stack with the given middleware pushed.
  
  @param MiddlewareInterface $middleware
  @return self
docstring_tokens: Creates a new stack with the given middleware pushed .