This seems highly convoluted just to provide a type-safe constructor argument for the transformers etc, allowing the `object-mapper` argument to be the existing jackson 1.x instance, or the new Abstraction.

Wouldn't it be much simpler to just add a second (deprecated) constructor to the transformers etc that takes an Object (for the 1.9 objectMapper) and `Assert.isTrue(mapper.getClass().getName().equals("....codehaus....ObjectMapper")` ??