static MetadataSnapshot bootstrap(List<InetSocketAddress> addresses) {
        Map<Integer, Node> nodes = new HashMap<>();
        int nodeId = -1;
        for (InetSocketAddress address : addresses) {
            nodes.put(nodeId, new Node(nodeId, address.getHostString(), address.getPort()));
            nodeId--;
        }
        return new MetadataSnapshot(null, nodes, Collections.emptyList(),
                Collections.emptySet(), Collections.emptySet(), Collections.emptySet(),
                null, Collections.emptyMap(), Cluster.bootstrap(addresses));
    }
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