@Override
  public void run(RunNotifier notifier) {
    RunListener listener =
        new RunListener() {
          WarningsCollector warningsCollector;

          @Override
          public void testStarted(Description description) throws Exception {
            warningsCollector = new WarningsCollector();
          }

          @Override
          public void testFailure(Failure failure) throws Exception {
            logger.log(warningsCollector.getWarnings());
          }
        };

    notifier.addListener(listener);

    runner.run(notifier);
  }
 public void filter(Filter filter) throws NoTestsRemainException {
   // filter is required because without it UnrootedTests show up in Eclipse
   runner.filter(filter);
 }
 @Override
 public Description getDescription() {
   return runner.getDescription();
 }