@Override
    public void accept(T t) {
        /*
         * The integritySummarizer's regular "accept" method keeps track of rejected points. Here we
         * track ALL point before any rejection logic is applied.
         */
        integritySummarizer.acceptUnsortedRecords(t);
        approxSorter.accept(t);
    }
@Test
    public void testEmittedPointsAreProperlySorted() {

        Duration maxLag = Duration.ofSeconds(10L); //with this lag things get sorted correctly

        ConsumingArrayList<TimePojo> consumer = newConsumingArrayList();

        StreamingTimeSorter<TimePojo> sorter = new StreamingTimeSorter<>(consumer, maxLag);

        for (TimePojo timeBox : testData()) {
            sorter.accept(timeBox);
        }

        assertThat(consumer, hasSize(6));

        verifyPointWereOrdered(consumer);
    }