title: Work with an Amazon S3 response stream after response has been disposed
body: <p>I'm using the Amazon SDK and I have a method that returns a Stream for an object stored in Amazon S3 service.</p>
  
  <p>It contains something like this:</p>
  
  <pre><code>var request = new GetObjectRequest().WithBucketName(bucketName).WithKey(keyName);
  using (var response = client.GetObject(request))
  {
      return response.ResponseStream;
  }
  </code></pre>
  
  <p>Obviously, when doing this, the stream is not readable from the calling method because the request object has been disposed and when this is done, it closes the stream.</p>
  
  <p>I don't want to download the file to a MemoryStream or a FileStream.</p>
  
  <p>If I don't use the using clause, the garbage collector will dispose the request object at some point so I can't just not use it.</p>
  
  <p>What I'm asking is, is there a way to wrap or copy the Stream into another Stream and then return it without having to download the file?</p>
  
  <p>I'm using .NET 3.5.</p>
  
  <p><strong>Edit:</strong> The method is inherited from an abstract class and the caller method doesn't know it is working with Amazon. So it HAS to return a Stream.</p>