class Cluster {

    public static Cluster bootstrap(List<InetSocketAddress> addresses) {
        List<Node> nodes = new ArrayList<>();
        int nodeId = -1;
        for (InetSocketAddress address : addresses)
            nodes.add(new Node(nodeId--, address.getHostString(), address.getPort()));
        return new Cluster(true, nodes, new ArrayList<PartitionInfo>(0), Collections.<String>emptySet());
    }

    public  Cluster(Collection<Node> nodes,
        Collection<PartitionInfo> partitions,
        Set<String> unauthorizedTopics);
    private  Cluster(boolean isBootstrapConfigured,
        Collection<Node> nodes,
        Collection<PartitionInfo> partitions,
        Set<String> unauthorizedTopics);

}