presto-orc/src/main/java/io/prestosql/orc/metadata/Footer.java/Footer/Footer
class Footer:    public Footer(
            long numberOfRows,
            int rowsInRowGroup,
            List<StripeInformation> stripes,
            ColumnMetadata<OrcType> types,
            Optional<ColumnMetadata<ColumnStatistics>> fileStats,
            Map<String, Slice> userMetadata)
    {
        this.numberOfRows = numberOfRows;
        this.rowsInRowGroup = rowsInRowGroup;
        this.stripes = ImmutableList.copyOf(requireNonNull(stripes, "stripes is null"));
        this.types = requireNonNull(types, "types is null");
        this.fileStats = requireNonNull(fileStats, "fileStats is null");
        requireNonNull(userMetadata, "userMetadata is null");
        this.userMetadata = ImmutableMap.copyOf(transformValues(userMetadata, Slices::copyOf));
    }