class DefaultCompletableAsyncResult implements CompletableAsyncResult<T> {

  @Override
  @Nullable
  public T get() throws CompletionException, InterruptedException {
    try {
      return get(10, TimeUnit.SECONDS);
    } catch (TimeoutException ex) {
      throw new RuntimeException("Default timeout triggered for blocking call to AsyncResult::get()", ex);
    }
  }

    DefaultCompletableAsyncResult();
    DefaultCompletableAsyncResult(CompletableFuture<T> future);

}