Right option is (a) org.junit.runner.notification.RunListener
The explanation is: To respond to events during a test run, RunListener is extended and the appropriate methods overridden. If a listener throws an exception during a test event, it is removed for the remainder of the test run.