public Future<RecordMetadata> sendWithReceipt(K key, V value, org.apache.kafka.clients.producer.Callback callback) {
        return producer.orElseThrow(() ->
                new IllegalStateException("This KafkaBasedLog was created in read-only mode and does not support write operations")
        ).send(new ProducerRecord<>(topic, key, value), callback);
    }
Send a record asynchronously to the configured {@link #topic}.
@param key the key for the {@link ProducerRecord}
@param value the value for the {@link ProducerRecord}
@param callback the callback to invoke after completion; can be null if no callback is desired

@return the future from the call to {@link Producer#send}. {@link Future#get} can be called on this returned
        future if synchronous behavior is desired.
connect/runtime/src/main/java/org/apache/kafka/connect/util/KafkaBasedLog.java