@Override
    public boolean completeExceptionally(Throwable newException) {
        // CompletableFuture#get() always wraps the _cause_ of a CompletionException in ExecutionException
        // (which KafkaFuture does not) so wrap CompletionException in an extra one to avoid losing the
        // first CompletionException in the exception chain.
        return completableFuture.kafkaCompleteExceptionally(
                newException instanceof CompletionException ? new CompletionException(newException) : newException);
    }
@see KafkaFutureImpl#thenApply(BaseFunction)
@deprecated Since Kafka 3.0.
clients/src/main/java/org/apache/kafka/common/internals/KafkaFutureImpl.java