code: public <T> Tuple2<String, T> nextKeyValue(Class<T> clazz) throws IOException {
        if (currentValue.getKey() != NAME) {
           throw new IOException("Expecting NAME, but found " + jsonTokenToStructuredElement(null));
        }
        String name = currentValue.getValue().asString();
        consume();
        return Tuple2.of(name, nextValue(clazz));
     }
docs: Reads the next key-value pair with the value being of the given type
  
  @param <T>   the value type parameter
  @param clazz the clazz associated with the value type
  @return the next key-value pair
  @throws IOException Something went wrong reading