void () { while (true) { try { SchedulingWrapper.MyScheduledFutureTask<?> task = take(); if (LOG.isTraceEnabled()) { LOG.trace("Took "+BoundedTaskExecutor.info(task)); } try { if (!task.executeMeInBackendExecutor()) { break; } } catch (Throwable e) { try { LOG.error("Error executing "+task, e); } catch (Throwable ignored) { // do not let it stop the thread } } } catch (InterruptedException e) { if (shutdownTrace.get() == null) { LOG.error(e); } } } LOG.debug("AppDelayQueue.TransferrerThread Stopped"); }