presto-spi/src/main/java/io/prestosql/spi/connector/DiscretePredicates.java/DiscretePredicates/DiscretePredicates
class DiscretePredicates:    public DiscretePredicates(List<ColumnHandle> columns, Iterable<TupleDomain<ColumnHandle>> predicates)
    {
        requireNonNull(columns, "columns is null");
        if (columns.isEmpty()) {
            throw new IllegalArgumentException("columns is empty");
        }
        this.columns = unmodifiableList(new ArrayList<>(columns));
        // do not copy predicates because it may be lazy
        this.predicates = requireNonNull(predicates, "predicates is null");
    }