public function withBody(StreamInterface $body)
    {
        if (false) {
            // Body is forced to a StreamInterface in parameters.
            // How can it be invalid ?
            throw new InvalidArgumentException('Body is not valid.');
        }
        $message = clone $this;
        $message->stream = $body;

        return $message;
    }