title: JIL json serializer does not serialize properties from derived class
body: <p>JIL json serializer does not serialize properties from derived class <br></p>
  
  <p>Below are the code snippet:<br></p>
  
  <pre><code>public async Task WriteAsync(OutputFormatterWriteContext context)
          {
              if (context == null)
              {
                  throw new ArgumentNullException(nameof(context));
              }
  
              var response = context.HttpContext.Response; response.ContentType = "application/json";
  
              using (var writer = context.WriterFactory(response.Body, Encoding.UTF8))
              {
                  Jil.JSON.Serialize(context.Object, writer);
                  await writer.FlushAsync();
              }
          }
  </code></pre>
  
  <p>1) Model Type: <br></p>
  
  <pre><code>public class BaseBOResponse
  {    
     public string pk { get; set; }
  }
  
  public class PaymentTypeBOResponse : BaseBOResponse
  {          
      public string description { get; set; }
      public bool isSystem { get; set; }
      public bool isActive { get; set; }           
  }
  </code></pre>
  
  <p>Here when i set something to BaseBOResponse's response property "pk", then JIL serializer eliminate this property.</p>
  
  <p>Please suggest if you have any solution.</p>