public static <C extends Collection<? super T>, T> C decodeValue(String str, Class<C> collectionClazz, Class<T> targetClazz) throws DecodeException {
        try {
            return mapper.readValue(str, TypeFactory.defaultInstance().constructCollectionType(collectionClazz, targetClazz));
        }
        catch (Exception e) {
            throw new DecodeException("Failed to decode:" + e.getMessage()); //$NON-NLS-1$
        }
    }
@author Marc Savy {@literal <msavy@redhat.com>}
gateway/platforms/vertx3/vertx3-common/src/main/java/io/apiman/gateway/platforms/vertx3/common/verticles/Json.java