Analizando un documento YAML con un mapa en la raíz usando snakeYaml

Quiero leer un documento YAML en un mapa de objetos personalizados (en lugar de mapas, que snakeYaml hace por defecto). Así que esto:

19:
  typeID: 2
  limit: 300
20:
  typeID: 8
  limit: 100

Sería cargado en un mapa que se ve así:

Map<Integer, Item>

donde el artículo es:

class Item {
    private Integer typeId;
    private Integer limit;
}

No pude encontrar una manera de hacer esto con snakeYaml, y tampoco pude encontrar una mejor biblioteca para la tarea.

La documentación solo tiene ejemplos con mapas / colecciones anidados dentro de otros objetos, para que pueda hacer lo siguiente:

    TypeDescription typeDescription = new TypeDescription(ClassContainingAMap.class);
    typeDescription.putMapPropertyType("propertyNameOfNestedMap", Integer.class, Item.class);
    Constructor constructor = new Constructor(typeDescription);
    Yaml yaml = new Yaml(constructor);
    /* creating an input stream (is) */
    ClassContainingAMap obj = (ClassContainingAMap) yaml.load(is);

Pero, ¿cómo hago para definir el formato del Mapa cuando está en la raíz del documento?

Respuestas a la pregunta(3)

Su respuesta a la pregunta