class CallbackCountDownLatch extends CountDownLatch {

    @Override
    public void countDown() {
        super.countDown();
        if (getCount() <= 0) {
            future.complete(null);
        }
    }

    public  CallbackCountDownLatch(int size, Runnable callback);
    public  CallbackCountDownLatch(int size, Runnable callback, Executor executor);

}