presto-tpch/src/main/java/io/prestosql/plugin/tpch/TpchRecordSet.java/TpchRecordSet/TpchRecordSet
class TpchRecordSet:    public TpchRecordSet(Iterable<E> rows, TpchTable<E> table, List<TpchColumn<E>> columns, TupleDomain<ColumnHandle> predicate)
    {
        this.rows = requireNonNull(rows, "rows is null");
        this.table = requireNonNull(table, "table is null");
        this.columns = ImmutableList.copyOf(requireNonNull(columns, "columns is null"));
        this.columnTypes = columns.stream()
                .map(TpchMetadata::getPrestoType)
                .collect(toImmutableList());
        this.predicate = requireNonNull(predicate, "predicate is null");
    }