presto-main/src/main/java/io/prestosql/operator/index/FieldSetFilteringRecordSet.java/FieldSetFilteringRecordSet/FieldSetFilteringRecordSet
class FieldSetFilteringRecordSet:    public FieldSetFilteringRecordSet(Metadata metadata, RecordSet delegate, List<Set<Integer>> fieldSets)
    {
        requireNonNull(metadata, "metadata is null");
        this.delegate = requireNonNull(delegate, "delegate is null");

        ImmutableList.Builder<Set<Field>> fieldSetsBuilder = ImmutableList.builder();
        List<Type> columnTypes = delegate.getColumnTypes();
        for (Set<Integer> fieldSet : requireNonNull(fieldSets, "fieldSets is null")) {
            ImmutableSet.Builder<Field> fieldSetBuilder = ImmutableSet.builder();
            for (int field : fieldSet) {
                fieldSetBuilder.add(new Field(
                        field,
                        metadata.getScalarFunctionImplementation(metadata.resolveOperator(EQUAL, ImmutableList.of(columnTypes.get(field), columnTypes.get(field)))).getMethodHandle()));
            }
            fieldSetsBuilder.add(fieldSetBuilder.build());
        }
        this.fieldSets = fieldSetsBuilder.build();
    }