public function withBody(StreamInterface $body)
    {
        if ($this->getBody() === $body) {
            return $this;
        }

        $newInstance = clone $this;
        $newInstance->setBody($body);
        return $newInstance;
    }