class DefaultCompletableAsyncCompletion implements CompletableAsyncCompletion {

  @Override
  public AsyncCompletion accept(Consumer<? super Throwable> consumer) {
    requireNonNull(consumer);
    return new DefaultCompletableAsyncCompletion(future.handle((v, ex) -> {
      consumer.accept(ex);
      return null;
    }));
  }

    DefaultCompletableAsyncCompletion();
    DefaultCompletableAsyncCompletion(CompletableFuture<Void> future);

}