title: Recursively call JsonSerializer in a JsonConverter
body: <p>I'm writing a <code>JsonConverter</code> to perform some conversion tasks I need accomplished on read/write. In particular, I'm taking the existing serialization behavior and tacking on some additional properties on write / reading those additional properties on read.</p>
  
  <p>Inside the <code>JsonConverter</code>, I'd like to make use of the passed <code>JsonSerializer</code> instance to perform the majority of the conversion functionality. However, when I do this, I end up in a recursive loop where the serializer calls into my converter which calls into the serializer which calls into the converter and etc.</p>
  
  <p>I've seen people do things such as use <code>JsonConvert.SerializeObject</code>, passing in all the converters from the serializer instance <em>except</em> <code>this</code>. However, that won't work for me because it bypasses all of the other customization I've done on my serializer, such as custom contract resolver and <code>DateTime</code> handling.</p>
  
  <p>Is there a way I can either:</p>
  
  <ol>
  <li>Use the serializer instance passed to me, but somehow exclude my converter, or</li>
  <li>Clone the serializer passed to me (without manually constructing a new one and copying it property by property) and remove my converter?</li>
  </ol>