title: Jackson Subclass serialization
body: <p>I'm using an java API that I do not own and cannot modify. That API defines a class <code>Aggregation</code> which is a <code>Immutables</code> (immutables.github.io) abstract class with Jackson serialization and deserialization.</p>
  
  <p>The class looks like </p>
  
  <pre><code>@Value.Immutable
  @JsonSerialize(as = Immutable_Aggregation.class)
  @JsonDeserialize(as = Immutable_Aggregation.class)
  public abstract class Aggregation {
  </code></pre>
  
  <p>I want to add a field to Aggregation which should be picked up at serialization time, but instances of which can still be passed to methods accepting <code>Aggregation</code>. </p>
  
  <p>I want to do something like:</p>
  
  <pre><code>public abstract class ExtendedAggregation extends Aggregation {}
  </code></pre>
  
  <p>Is this possible?</p>