@Override
    public ColumnStatistics buildColumnStatistics()
    {
        Optional<IntegerStatistics> integerStatistics = buildIntegerStatistics();
        if (integerStatistics.isPresent()) {
            return new IntegerColumnStatistics(nonNullValueCount, null, rawSize, storageSize, integerStatistics.get());
        }
        return new ColumnStatistics(nonNullValueCount, null, rawSize, storageSize);
    }
@Test
    public void testMergeOverflow()
    {
        List<ColumnStatistics> statisticsList = new ArrayList<>();

        statisticsList.add(new IntegerStatisticsBuilder().buildColumnStatistics());
        assertMergedIntegerStatistics(statisticsList, 0, 0L);

        statisticsList.add(singleValueIntegerStatistics(MAX_VALUE));
        assertMergedIntegerStatistics(statisticsList, 1, MAX_VALUE);

        statisticsList.add(singleValueIntegerStatistics(1));
        assertMergedIntegerStatistics(statisticsList, 2, null);
    }