private static List<DescribeQuorumResponseData.ReplicaState> toReplicaStates(
        short apiVersion,
        int leaderId,
        Collection<LeaderState.ReplicaState> states,
        long currentTimeMs
    ) {
        return states
            .stream()
            .map(replicaState -> toReplicaState(apiVersion, leaderId, replicaState, currentTimeMs))
            .collect(Collectors.toList());
    }
Creates a FetchSnapshotResponseData with a single PartitionSnapshot for the topic partition.

The partition index will already be populated when calling operator.

@param listenerName the listener used to accept the request
@param apiVersion the api version of the request
@param topicPartition the topic partition to include
@param leaderId the id of the leader
@param endpoints the endpoints of the leader
@param operator unary operator responsible for populating all of the appropriate fields
@return the created fetch snapshot response data
raft/src/main/java/org/apache/kafka/raft/RaftUtil.java