private void computeClusterView() {
        List<PartitionInfo> partitionInfos = metadataByPartition.values()
                .stream()
                .map(metadata -> MetadataResponse.toPartitionInfo(metadata, nodes))
                .collect(Collectors.toList());
        this.clusterInstance = new Cluster(clusterId, nodes.values(), partitionInfos, unauthorizedTopics,
                invalidTopics, internalTopics, controller, topicIds);
    }
Copies {@code baseSet} and adds all non-existent elements in {@code fillSet} such that {@code predicate} is true.
In other words, all elements of {@code baseSet} will be contained in the result, with additional non-overlapping
elements in {@code fillSet} where the predicate is true.

@param baseSet the base elements for the resulting set
@param fillSet elements to be filled into the resulting set
@param predicate tested against the fill set to determine whether elements should be added to the base set
clients/src/main/java/org/apache/kafka/clients/MetadataSnapshot.java