public <T> CompletableFuture<T> scheduleReadOperation(
        String name,
        TopicPartition tp,
        CoordinatorReadOperation<S, T> op
    ) {
        throwIfNotRunning();
        log.debug("Scheduled execution of read operation {}.", name);
        CoordinatorReadEvent<T> event = new CoordinatorReadEvent<>(name, tp, op);
        enqueueLast(event);
        return event.future;
    }
Schedules a read operation.

@param name  The name of the read operation.
@param tp    The address of the coordinator (aka its topic-partitions).
@param op    The read operation.

@return A future that will be completed with the result of the read operation
when the operation is completed or an exception if the read operation failed.

@param <T> The type of the result.
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/runtime/CoordinatorRuntime.java