protected function middleware(string $key = null, string $group = Group::DEFAULT_ID)
    {
        $middleware = $this->middleMan->getGroup($group)->get($key);
        if ($middleware) {
            $this->result = $this->then($middleware);
        }
        return $this->resultUnlessChainable();
    }