title: How to use default serialization in a custom JsonConverter
body: <p>I have a complex object graph that I am serializing/deserializing with Json.NET. Some of the objects derive from an abstract class, so in order for the deserialization to work properly, I needed to create a custom <code>JsonConverter</code>. Its only role is to select the appropriate concrete implementation of the abstract class at deserialization-time and allow Json.NET to continue on its way.</p>
  
  <p>My problem comes when I want to serialize. I don't need to do anything custom at all. I want to get exactly the same behavior as I would get using <code>JsonConvert.SerializeObject</code> with no custom <code>JsonConverter</code>.</p>
  
  <p>However, since I'm using the custom JsonConverter class for my deserialization needs, I'm forced to supply a <code>WriteJson</code> implementation. Since WriteJson is abstract, I can't just call <code>base.WriteJson</code>, but I want to do essentially that. So my question is, what do I put in that method to get the plain-Jane, default behavior? In other words:</p>
  
  <pre><code>public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
  {
      // What goes here to get default processing?
  }
  </code></pre>