public static void intercept(@This final Object runner, @SuperCall final Callable<?> proxy,
                    @Argument(0) final RunNotifier notifier) throws Exception {
        
        attachRunListeners(runner, notifier);
        
        try {
            pushThreadRunner(runner);
            fireRunStarted(runner);
            LifecycleHooks.callProxy(proxy);
        } finally {
            fireRunFinished(runner);
            popThreadRunner();
        }
    }
public static void intercept ( @ This final Object runner , @ SuperCall final Callable < ? > proxy , @ Argument ( 0 ) final RunNotifier notifier ) throws Exception { attachRunListeners ( runner , notifier ) ; try { pushThreadRunner ( runner ) ; fireRunStarted ( runner ) ; LifecycleHooks . callProxy ( proxy ) ; } finally { fireRunFinished ( runner ) ; popThreadRunner ( ) ; } }
Interceptor for the {@link org.junit.runners.ParentRunner#run run} method.

@param runner underlying test runner
@param proxy callable proxy for the intercepted method
@param notifier run notifier through which events are published
@throws Exception {@code anything} (exception thrown by the intercepted method)