Reglas para que Jersey analice la deserialización del subtipo JSON / Jackson

Recibo JSON de la manera:

@POST
@Path("log")
public Map<String, List<OperationResult>> log(Stats stats) {
  ..
}

Los ejemplos de JSON:

{
  "eventType": 1
  "params": {
    "field1" : 10
  }
}

{
  "eventType": 2
  "params": {
    "field2" : "ten"
  }
}

Tengo una estructura de clase (son generadas por jsonschema2pojo, supongamos que no importa):

interface Params;
class Params1 implements Params{ public int field1; }
class Params2 implements Params{ public String field2; }

class Stats {
  public int eventType;
  public Params params;
}

¿Cómo puedo hacer que Jersey analice los JSON para que si eventType = 1, stats.params se convierta en una instancia de Params1 y de Params2?

Respuestas a la pregunta(1)

Su respuesta a la pregunta