No se puede con (des) serializar una lista con elementos polimórficos en Jackson

Tengo un problema (de) serialización de JSON que no está definido por mí.

Aquí hay un código y JSON que explica el problema:

Código:

public static class Base {
    public String klass = "base";
}

public static class SubBase extends Base {
}

public static class Sub1 extends SubBase {
    public Sub1() {
        klass = "Sub1";
    }
}

public static class Sub2 extends SubBase {
    public Sub2() {
        klass = "Sub2";
    }
}

public static class Holder {
    @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.WRAPPER_ARRAY, property="type")
    @JsonSubTypes({@JsonSubTypes.Type (name = "sub1", value = Sub1.class),@JsonSubTypes.Type(name = "sub2", value = Sub2.class)})
    public List<Base> items = new ArrayList<Base>();
}


Holder holder = new Holder();
holder.items.add(new Sub1());
holder.items.add(new Sub1());

mapper.writeValueAsString(holder);

produce

{"items":[["sub1",{"klass":"Sub1"}],["sub1",{"klass":"Sub1"}]]}

Si cambio la anotación JsonTypeInfo a

    @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.WRAPPER_OBJECT, property="type")

produce

{"items":[{"sub1":{"klass":"Sub1"}},{"sub1":{"klass":"Sub1"}}]}

Hasta ahora, todo está bien :)

Sin embargo, el JSON que obtengo del servidor tiene una estructura ligeramente diferente:

{"type":"sub1", "items":[{"klass":"Sub1"},{"klass":"Sub1"}]}

Donde el tipo de la matriz de elementos se define en la propiedad "tipo" (tenga en cuenta que todos los elementos de la matriz de "elementos" son de la misma clase).
Simplemente no puedo averiguar qué combinación JsonTypeInfo utilizar para hacer que esto suceda. Intenté establecer la opción 'incluir' en ".EXTERNAL_PROPERTY", pero esto no funciona.
Deserializar utilizando esta inclusión me da "Excepción en el hilo "main" org.codehaus.jackson.JsonGenerationException: No se puede escribir un nombre de campo, esperando un valor" mensaje de error.

Mi pregunta es: ¿Qué anotación debo usar para que '{"type": "sub1", "items": [{"klass": "Sub1"}, {"klass": "Sub1"}]}'llenará la matriz' elementos 'con todas las instancias Sub1 basadas en el "tipo"propiedad del titular?
Si esto simplemente no es posible, ¿hay alguna otra forma de lograr esto (sin la necesidad de un serializador personalizado para el Titular; un serializador personalizado solo para la matriz de 'elementos' estaría bien)?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta