public Object evaluate(Exchange exchange) {
Object answer = exchange.getIn().getBody(type);
if (answer == null) {
Object defaultValue = exchange.getIn().getBody();
if (defaultValue != null) {
throw new NoTypeConversionAvailableException(defaultValue, type);
}
// if we don't have a body then
// lets instantiate and inject a new instance
answer = exchange.getContext().getInjector().newInstance(type);