presto-spi/src/main/java/io/prestosql/spi/resourcegroups/SelectionCriteria.java/SelectionCriteria/SelectionCriteria
class SelectionCriteria:    public SelectionCriteria(
            boolean authenticated,
            String user,
            Optional<String> source,
            Set<String> clientTags,
            ResourceEstimates resourceEstimates,
            Optional<String> queryType)
    {
        this.authenticated = authenticated;
        this.user = requireNonNull(user, "user is null");
        this.source = requireNonNull(source, "source is null");
        this.clientTags = unmodifiableSet(requireNonNull(clientTags, "tags is null"));
        this.resourceEstimates = requireNonNull(resourceEstimates, "resourceEstimates is null");
        this.queryType = requireNonNull(queryType, "queryType is null");
    }