Code review comment: fair enough ... I don't have a preference here.

Code under review:
public void testConcurrentGetAndIncrement() throws Exception {
        
        final int numThreads = 8;

        
        final CountDownLatch startLatch = new CountDownLatch(1);
        final CheckpointIDCounter counter = createCheckpointIdCounter();
        counter.start();

        ExecutorService executor = null;
        try {
            executor = Executors.newFixedThreadPool(numThreads);

            List<Future<List<Long>>> resultFutures = new ArrayList<>(numThreads);

            for (int i = 0; i < numThreads; i++) {
                resultFutures.add(executor.submit(new Incrementer(startLatch, counter)));
            }

            
            startLatch.countDown();

            final int expectedTotal = numThreads * Incrementer.NumIncrements;

            List<Long> all = new ArrayList<>(expectedTotal);

            
            for (Future<List<Long>> result : resultFutures) {
                List<Long> counts = result.get();
                assertStrictlyMonotonous(counts);
                all.addAll(counts);
            }

            
            Collections.sort(all);

            assertThat(all.size()).isEqualTo(expectedTotal);

            assertStrictlyMonotonous(all);

            
            final long lastCheckpointId = all.get(all.size() - 1);
            assertThat(lastCheckpointId).isLessThan(counter.get());
            assertThat(lastCheckpointId).isLessThan(counter.getAndIncrement());
        } finally {
            if (executor != null) {
                executor.shutdown();
            }

            counter.shutdown(JobStatus.FINISHED);
        }
    }

Line commented on: if (executor != null) {

Revised code:
public void testConcurrentGetAndIncrement() throws Exception {
        
        final int numThreads = 8;

        
        final CountDownLatch startLatch = new CountDownLatch(1);
        final CheckpointIDCounter counter = createCheckpointIdCounter();
        counter.start();

        ExecutorService executor = null;
        try {
            executor = Executors.newFixedThreadPool(numThreads);

            List<Future<List<Long>>> resultFutures = new ArrayList<>(numThreads);

            for (int i = 0; i < numThreads; i++) {
                resultFutures.add(executor.submit(new Incrementer(startLatch, counter)));
            }

            
            startLatch.countDown();

            final int expectedTotal = numThreads * Incrementer.NumIncrements;

            List<Long> all = new ArrayList<>(expectedTotal);

            
            for (Future<List<Long>> result : resultFutures) {
                List<Long> counts = result.get();
                assertStrictlyMonotonous(counts);
                all.addAll(counts);
            }

            
            Collections.sort(all);

            assertThat(all.size()).isEqualTo(expectedTotal);

            assertStrictlyMonotonous(all);

            
            final long lastCheckpointId = all.get(all.size() - 1);
            assertThat(lastCheckpointId).isLessThan(counter.get());
            assertThat(lastCheckpointId).isLessThan(counter.getAndIncrement());
        } finally {
            if (executor != null) {
                executor.shutdown();
            }

            counter.shutdown(JobStatus.FINISHED);
        }
    }