public function push($handler)
    {
        if (!$handler) {
            return $this;
        }
        if ($this->next) {
            return $this->next->push($handler);
        }
        if (!$handler instanceof MiddlewareInterface) {
            $handler = new Middleware($handler);
        }
        $this->next = $handler;
        return $this->next;
    }
public function push($handler)
    {
        if (!$handler) {
            return $this;
        }
        if ($this->next) {
            return $this->next->push($handler);
        }
        if (!$handler instanceof MiddlewareInterface) {
            $handler = new Middleware($handler);
        }
        $this->next = $handler;
        return $this->next;
    }
public function push ( $ handler ) { if ( ! $ handler ) { return $ this ; } if ( $ this -> next ) { return $ this -> next -> push ( $ handler ) ; } if ( ! $ handler instanceof MiddlewareInterface ) { $ handler = new Middleware ( $ handler ) ; } $ this -> next = $ handler ; return $ this -> next ; }
stack up the middleware.
converts normal Application into middleware.

@param ApplicationInterface $handler
@return $this
stack up the middleware . converts normal Application into middleware .