title: How to use JsonTextReader twice
body: <p>I am given a stream of json data which contains a field named "type".  This type field describes the type of object that needs to be created at runtime.  It looks like I am unable to use the JsonTextReader twice and I cannot find away to reset the text reader to the beginning.</p>
  
  <pre><code>using (var streamReader = new StreamReader(stream, Encoding))
  using (var jsonTextReader = new JsonTextReader(streamReader))
  {
      JToken token = JObject.Load(jsonTextReader);
      var type = (string) token.SelectToken("type");
      var modelType = Type.GetType("Project." + type + ", Project");
  
      // Fails here
      var obj = serializer.Deserialize(jsonTextReader, modelType);
  }
  </code></pre>
  
  <p>I get this error message.
  Unexpected token while deserializing object: EndObject.</p>