public function xcontent(TextDocumentIdentifier $textDocument): Promise
    {
        return call(
            /**
             * @return \Generator<int, mixed, mixed, TextDocumentItem>
             */
            function () use ($textDocument) {
                $result = yield $this->handler->request(
                    'textDocument/xcontent',
                    ['textDocument' => $textDocument]
                );

                /** @var TextDocumentItem */
                return $this->mapper->map($result, new TextDocumentItem);
            }
        );
    }