try {
matches = filter.getPredicate().matches(exchange);
exchange.setProperty(Exchange.FILTER_MATCHED, matches);
} catch (Throwable e) {
exchange.setException(e);
choiceCallback.done(true);
return true;
}
// as we have pre evaluated the predicate then use its processor directly when routing
processor = filter.getProcessor();
}