LOG.error("Caught exception in HTTP Service run", e);
} catch (ExecutionException e) {
LOG.error("Caught exception in HTTP Service run", e);
} finally {
// once the service has been stopped, don't announce it anymore.
contextCancellable.cancel();
timer.cancel();
// Go through all non-cleanup'ed handler and call destroy() upon them
// At this point, there should be no call to any handler method, hence it's safe to call from this thread
for (HandlerContextPair handlerContextPair : handlerReferences.values()) {