code: public <T> Map<String, T> nextMap(String expectedName, @NonNull Class<T> valueType) throws IOException {
        boolean ignoreObject = peek() != JsonTokenType.BEGIN_OBJECT && expectedName == null;
        if (!ignoreObject) beginObject(expectedName);
        Map<String, T> map = new HashMap<>();
        while (peek() != JsonTokenType.END_OBJECT) {
           Tuple2<String, T> kv = nextKeyValue(valueType);
           map.put(kv.getKey(), kv.getValue());
        }
        if (!ignoreObject) endObject();
        return map;
     }
docs: Reads in the next object as a map with an expected object name and value type
  
  @param <T>          the value type parameter
  @param expectedName the expected name of the next object
  @param valueType    the value type class information
  @return the map
  @throws IOException Something went wrong reading