public Processor createProcessor(RouteContext routeContext) throws Exception {
Endpoint endpoint = resolveEndpoint(routeContext);
String ref = this.executorServiceRef != null ? this.executorServiceRef : "WireTap";
ExecutorServiceManager manager = routeContext.getCamelContext().getExecutorServiceManager();
executorService = manager.newDefaultThreadPool(this, ref);
WireTapProcessor answer = new WireTapProcessor(endpoint, getPattern(), executorService);
answer.setCopy(isCopy());
if (newExchangeProcessorRef != null) {
newExchangeProcessor = routeContext.lookup(newExchangeProcessorRef, Processor.class);