public static ClickHouseNodeSelector of(Collection<ClickHouseProtocol> protocols, Collection<String> tags) {
        return (protocols == null || protocols.isEmpty()) && (tags == null || tags.isEmpty()) ? EMPTY
                : new ClickHouseNodeSelector(protocols, tags);
    }
Creates a node selector by specifying preferred protocols and tags.

@param protocols preferred protocols
@param tags      preferred tags
@return non-null selector
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseNodeSelector.java