Analisando um documento YAML com um mapa na raiz usando snakeYaml

Quero ler um documento YAML em um mapa de objetos personalizados (em vez de mapas, o que snakeYaml faz por padrão). Então, é isso:

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

Seria carregado em um mapa parecido com este:

Map<Integer, Item>

onde Item é:

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

Não consegui encontrar uma maneira de fazer isso com o snakeYaml e também não consegui encontrar uma biblioteca melhor para a tarefa.

A documentação possui apenas exemplos com mapas / coleções aninhados dentro de outros objetos, para que você possa fazer o seguinte:

    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);

Mas como definir o formato do mapa quando ele está na raiz do documento?