Processor childProcessor = this.createChildProcessor(routeContext, false);
Expression delay = createAbsoluteTimeDelayExpression(routeContext);
ScheduledExecutorService scheduled = ProcessorDefinitionHelper.getConfiguredScheduledExecutorService(routeContext, "Delay", this, isAsyncDelayed());
Delayer answer = new Delayer(childProcessor, delay, scheduled);
if (getAsyncDelayed() != null) {
answer.setAsyncDelayed(getAsyncDelayed());
}
if (getCallerRunsWhenRejected() == null) {
// should be default true
answer.setCallerRunsWhenRejected(true);
} else {
answer.setCallerRunsWhenRejected(getCallerRunsWhenRejected());
}
return answer;
}