Is it possible to create a copy of a TextReader without moving the original reader forward?
<p>I have a <code>TextReader</code> which has been created by a black-boxed system so I don't have any information about the source file from which it was created.</p>

<p>I need to pass this TextReader back into the black-boxed system inside an object which I am creating in my application.</p>

<p>However, I need to get some information from the TextReader to assist with the creation of my object.</p>

<p>I understand that you can't "rewind" a TextReader but is there a way to duplicate it so that I can read and discard a temporary copy without advancing the source TextReader at all?</p>

<p>I have had a look at <a href="http://stackoverflow.com/questions/831417/how-do-you-reset-a-c-sharp-net-textreader-cursor-back-to-the-start-point">this SO thread</a> but I'm not sure if that relates to my requirement.</p>

<p>If it does, could someone please elaborate so I can understand?</p>

<p>Thanks in advance.</p>
