protected Transformer findTransformer(Response response, Type type) {
    if (type instanceof ParameterizedType) {
      Type rawType = ((ParameterizedType) type).getRawType();
      Type[] parameterType = ((ParameterizedType) type).getActualTypeArguments();
      if (rawType.equals(List.class)) {
        return (mapper, reader) -> mapper.listOfFrom((Class<?>) parameterType[0], reader);
      }
      if (rawType.equals(Map.class)) {
        return (mapper, reader) -> mapper.mapOfFrom((Class<?>) parameterType[1], reader);
      }
      type = rawType;
    }
    if (type instanceof Class) {
      Class<?> clazz = (Class<?>) type;
      return (mapper, reader) -> mapper.beanFrom(clazz, reader);
    }
    throw new DecodeException(500, "Cannot decode type: " + type.getTypeName(), response.request());
  }
Construct with a series of {@link JacksonJrExtension} objects that are registered into the
{@link JSON}

@param iterable the source of the extensions
jackson-jr/src/main/java/feign/jackson/jr/JacksonJrDecoder.java