protected function decodeDocument(ServerRequestInterface $serverRequest)
    {
        if (!http_contains_body($serverRequest)) {
            return null;
        }

        return new Document(json_decode((string) $serverRequest->getBody()));
    }