On the other hand, maybe 

    if (XD_JSON_OCTET_STREAM_VALUE.equals(contentType) || 
        MediaType.APPLICATION_JSON_VALUE.equals(originalContentType)

would be ok.

However, I am concerned about the use case where the source emits JSON and the target accepts ALL - with this logic, he'd get an Object instead of JSON. I suppose we could say the target would have to say accepts application/json if we want to pass pure JSON from the source to the sink.