Hmm yeah I agree this can be improved. Perhaps a cleaner (maybe a bit less sneaky then using TypeReference) way of handling this is to convert Type to a Jackson JavaType and then pass that to the ObjectMapper. So something like:

JavaType javaType = TypeFactory.defaultInstance().constructType(type);
return objectMapper.readValue(body.in(), javaType);

Let me know your thoughts and I'll submit an updated request.

Cheers,
Kai