    001    package org.junit.runners.model;
    002
    003    /**
    004     * Represents a strategy for scheduling when individual test methods
    005     * should be run (in serial or parallel)
    006     *
    007     * WARNING: still experimental, may go away.
    008     *
    009     * @since 4.7
    010     */
    011    public interface RunnerScheduler {
    012        /**
    013         * Schedule a child statement to run
    014         */
    015        void schedule(Runnable childStatement);
    016
    017        /**
    018         * Override to implement any behavior that must occur
    019         * after all children have been scheduled (for example,
    020         * waiting for them all to finish)
    021         */
    022        void finished();
    023    }