private void stop()

in surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java [252:285]


    private void stop(
            Collection<Description> executedTests,
            Collection<Description> incompleteTests,
            boolean tryCancelFutures,
            boolean stopNow) {
        shutdown = true;
        try {
            if (started && !ParallelComputerUtil.isUnusedDescription(description)) {
                if (executedTests != null) {
                    executedTests.add(description);
                }

                if (incompleteTests != null && !finished) {
                    incompleteTests.add(description);
                }
            }

            for (Controller slave : slaves) {
                slave.stop(executedTests, incompleteTests, tryCancelFutures, stopNow);
            }
        } finally {
            try {
                balancer.releaseAllPermits();
            } finally {
                if (stopNow) {
                    strategy.stopNow();
                } else if (tryCancelFutures) {
                    strategy.stop();
                } else {
                    strategy.disable();
                }
            }
        }
    }