title: Using unseakable stream more than once
body: <pre><code>using (var stream = GetS3ObjectStream(fooObj))
  {
      WriteStreamToFtp(stream, "ftp://firstserver");
      WriteStreamToFtp(stream, "ftp://SecondServer"); 
  }
  </code></pre>
  
  <p>First one would work, but the second one will create just an empty file</p>
  
  <p><code>GetS3ObjectStream</code> gets a stream for Amazon Simple storage object. It's unseakable stream and you can't change the cursor position in it.</p>
  
  <p>Now, I either have to somehow restrict to use the stream object more than once or I have to to move the cursor to the beginning.</p>
  
  <p>any ideas?</p>
  
  <p>upd: yeah of course you can simply save the stream in temp. variable, but if you don't wanna do that, what then? is it ok to make methods that take streams and leave them with such side-effects?
  what if I close and dispose the source stream in the method?</p>