@Override
    public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException,
            TimeoutException {
        try {
            return completableFuture.get(timeout, unit);
        } catch (ExecutionException e) {
            maybeThrowCancellationException(e.getCause());
            throw e;
        }
    }
Waits if necessary for at most the given time for this future to complete, and then returns
its result, if available.
clients/src/main/java/org/apache/kafka/common/internals/KafkaFutureImpl.java