// which can cause context id for the thread to change!
vertx.setContext(closeContext);
ChannelGroupFuture fut = serverChannelGroup.close();
fut.addListener(new ChannelGroupFutureListener() {
public void operationComplete(ChannelGroupFuture fut) throws Exception {
executeCloseDone(closeContext, done, fut.cause());
}
});