@Override
    public void accept(Point newPoint) {

        //ensure this method is never called by multiple threads at the same time.
        parallelismDetector.run(
            () -> doAccept(newPoint)
        );
    }
@Test
    public void testTrackClosure_atTimeLimit() {

        TestConsumer consumer = new TestConsumer();

        Duration TIME_LIMIT = Duration.ofSeconds(5);

        TrackMaker maker = new TrackMaker(TIME_LIMIT, consumer);

        assertTrue(
            consumer.numCallsToAccept == 0,
            "The consumer has not been access yet"
        );

        maker.accept(newPoint("track1", Instant.EPOCH));
        maker.accept(newPoint("differentTrack", Instant.EPOCH.plus(TIME_LIMIT)));

        assertTrue(
            consumer.numCallsToAccept == 0,
            "The track should not be closed quite yet, we are at the TIME_LIMIT, not over it"
        );
    }