vertx.setContext(closeContext);
metrics.close();
ChannelGroupFuture fut = serverChannelGroup.close();
fut.addListener(cgf -> executeCloseDone(closeContext, done, fut.cause()));
}
private void executeCloseDone(final ContextImpl closeContext, final Handler<AsyncResult<Void>> done, final Exception e) {
if (done != null) {
closeContext.runOnContext((v) -> done.handle(Future.completedFuture(e)));