title: Using @JsonTypeInfo why can't the polymorphic field be omitted?
body: <p>Here is a polymorphic field:</p>
  
  <pre>
  @JsonProperty("config")
  @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type")
  @JsonSubTypes({
      @JsonSubTypes.Type(name = "keystone", value = KeystoneConfig.class),
      @JsonSubTypes.Type(name = "internal", value = InternalConfig.class)
  })
  @Nullable
  abstract Configuration getConfig();
  </pre>
  
  <p>where <code>Configuration</code> is an interface, and <code>type</code> is a <code>String</code> field elsewhere in the structure/class.</p>
  
  <p>This works fine with a response payload (something) like this:</p>
  
  <pre>
  { "type": "internal",
    "config": { "int1": "value1" }
  }
  </pre>
  
  <p>but fails with a deserialization parsing error when the <code>config</code> field is omitted, like this:</p>
  
  <pre>
  { "type": "internal"
  }
  </pre>
  
  <p>Normally, when fields are omitted, we get the Java default value (I expected <code>null</code> in this case).  I wish to retain the discriminator field <code>type</code>, but allow the <code>config</code> field to be optional.</p>
  
  <p>How can I get that behaviour in this case?</p>