presto-iceberg/src/main/java/io/prestosql/plugin/iceberg/PartitionTable.java/Partition/Partition
class Partition:        public Partition(
                StructLike values,
                long recordCount,
                long size,
                Map<Integer, Object> minValues,
                Map<Integer, Object> maxValues,
                Map<Integer, Long> nullCounts)
        {
            this.values = requireNonNull(values, "values is null");
            this.recordCount = recordCount;
            this.fileCount = 1;
            this.size = size;
            this.minValues = new HashMap<>(requireNonNull(minValues, "minValues is null"));
            this.maxValues = new HashMap<>(requireNonNull(maxValues, "maxValues is null"));
            // we are assuming if minValues is not present, max will be not be present either.
            this.corruptedStats = nonPartitionPrimitiveColumns.stream()
                    .map(Types.NestedField::fieldId)
                    .filter(id -> !minValues.containsKey(id) && (!nullCounts.containsKey(id) || nullCounts.get(id) != recordCount))
                    .collect(toCollection(HashSet::new));
            this.nullCounts = new HashMap<>(nullCounts);
        }