try {
future.setFuture((Future) scheduler.schedule(callable, delayNanos, TimeUnit.NANOSECONDS));
return true;
} catch (Throwable t) {
failure = t;
<BUG>if (listeners != null)
listeners.handleComplete(null, t, this, false);

future.complete(null, failure, fallback);
</BUG>
}

try {
future.setFuture((Future) scheduler.schedule(callable, delayNanos, TimeUnit.NANOSECONDS));
return true;
} catch (Throwable t) {
failure = t;
if (config != null)
config.handleComplete(null, t, this, false);
future.complete(null, failure, config.fallback);
