@SuppressWarnings("unchecked")
    public static <T, C extends Collection<T>> C toPojo(String payload, Class<T> klazz, Class<? extends Collection> collectionKlazz) {
        try {
            CollectionType type = OM.getTypeFactory().constructCollectionType(collectionKlazz, klazz);
            return (C) OM.readValue(payload, type);
        } catch (JsonProcessingException e) {
            throw new UncheckedIOException(e);
        }
    }
@author Marc Savy {@literal <marc@blackparrotlabs.io>}
common/util/src/main/java/io/apiman/common/util/JsonUtil.java