log.error(this + " Gor error processing " + me, e);
log.error(this + " got error processing " + me, e);
    public void run() {        thread = Thread.currentThread();        synchronized (running) {             running.set(true);            running.notify();        }        while (started.get()) {            final MessageExchangeImpl me;            try {                me = (MessageExchangeImpl) queue.poll(1000);                if (me != null) {                    flow.getBroker().getWorkManager().scheduleWork(new Work() {                        public void release() {                        }                        public void run() {                            try {                                if (log.isDebugEnabled()) {                                    log.debug(this + " dequeued exchange: " + me);                                }                                flow.doRouting(me);                            }                            catch (Throwable e) {                                log.error(this + " Gor error processing " + me, e);                            }                        }                                            });                }            }            catch (InterruptedException e) {                if (!started.get()) {                    break;                }                log.warn(this + " interrupted", e);            } catch (WorkException e) {                log.error(this + " got error processing exchange", e);            }        }        synchronized (running) {             running.set(false);            running.notify();        }    }