title: How to get ReadJson to return "default" behavior - as if CanConvert returned false
body: <ul>
  <li>I have created an implementation of <code>JsonConverter</code></li>
  <li><code>CanConvert</code> always returns true.</li>
  <li>In <code>ReadJson</code> I want to sometimes just use the "default" behavior, as if <code>CanConvert</code> had returned false and my <code>ReadJson</code> was never called.</li>
  <li>Various other posts have suggested I do some variation of the following:</li>
  </ul>
  
  <p><i></i></p>
  
  <pre><code>existingValue = existingValue ?? serializer
                                       .ContractResolver
                                       .ResolveContract(objectType)
                                       .DefaultCreator();
  serializer.Populate(reader, existingValue);
  </code></pre>
  
  <ul>
  <li>However, this throws <code>NullReferenceException</code> on <code>.DefaultCreator()</code>.    </li>
  <li><code>existingValue</code> is always <code>null</code></li>
  <li>The <code>ContractResolver</code> that is returned from the serializer is my own.  It extends json.net's built-in <code>CamelCasePropertyNamesContractResolver</code> and simply overrides the methods <code>CreateConstructorParameters</code> and <code>CreatePropertyFromConstructorParameter</code></li>
  </ul>
  
  <p>How do I tell json.net - "just kidding, I don't know how to create this thing, do whatever you would have done to create it had I told you that I couldn't create it"</p>
  
  <p>Note that I've simplified the problem for discussion.  I am anticipating someone will answer with "just have <code>CanCreate</code> return <code>false</code>"  In fact, in a number of scenarios I can and should create the object.</p>