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    }