public static Builder builder(ClickHouseNode base) {
        Builder b = new Builder();
        if (base != null) {
            Map<String, String> map = new LinkedHashMap<>(base.options);
            map.put(PARAM_CLUSTER, base.getCluster());
            map.put(PARAM_REPLICA_NUM, Integer.toString(base.replicaNum));
            map.put(PARAM_SHARD_NUM, Integer.toString(base.shardNum));
            map.put(PARAM_SHARD_WEIGHT, Integer.toString(base.shardWeight));
            map.put(PARAM_WEIGHT, Integer.toString(base.getWeight()));
            b.host(base.getHost()).port(base.getProtocol(), base.getPort()).credentials(base.credentials).options(map)
                    .tags(base.getTags());
        }
        return b;
    }
Gets builder for creating a new node based on the given one.

@param base template to start with
@return builder for creating a new node
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseNode.java