public LinkedHashMap<TopicPartition, FetchResponseData.PartitionData> responseData(Map<Uuid, String> topicNames, short version) {
        final LinkedHashMap<TopicPartition, FetchResponseData.PartitionData> responseData = new LinkedHashMap<>();
        data.responses().forEach(topicResponse -> {
            String name;
            if (version < 13) {
                name = topicResponse.topic();
            } else {
                name = topicNames.get(topicResponse.topicId());
            }
            if (name != null) {
                topicResponse.partitions().forEach(partition ->
                    responseData.put(new TopicPartition(name, partition.partitionIndex()), partition));
            }
        });
        return responseData;
    }
From version 3 or later, the authorized and existing entries in `FetchRequest.fetchData` should be in the same order in `responseData`.
Version 13 introduces topic IDs which can lead to a few new errors. If there is any unknown topic ID in the request, the
response will contain a partition-level UNKNOWN_TOPIC_ID error for that partition.
If a request's topic ID usage is inconsistent with the session, we will return a top level FETCH_SESSION_TOPIC_ID_ERROR error.
We may also return INCONSISTENT_TOPIC_ID error as a partition-level error when a partition in the session has a topic ID
inconsistent with the log.
clients/src/main/java/org/apache/kafka/common/requests/FetchResponse.java