code: @Override
      protected void runChild(Runner runner, RunNotifier notifier) {
          ExtendedExecutionUnitRunner featureElementRunner = (ExtendedExecutionUnitRunner) runner;
          try {
              featureElementRunner = new ExtendedExecutionUnitRunner(
                      runtime,
                      ((ExtendedExecutionUnitRunner) runner).getCucumberScenario(),
                      jUnitReporter);
              featureElementRunner.run(notifier);
              Assert.assertEquals(0, this.getRuntime().exitStatus());
          } catch (AssumptionViolatedException e) {
              System.out.println("Scenario AssumptionViolatedException...");
          } catch (Throwable e) {
              System.out.println(
                      ((ExtendedExecutionUnitRunner) runner).getCucumberScenario().getGherkinModel().getId());
              System.out.println(e.getClass().getCanonicalName() + ":" + e.getMessage());
              List<Throwable> errors = this.getRuntime().getErrors();
              Throwable error = errors.get(errors.size() - 1);
              if (ExtendedCucumber.isRetryApplicable(error, this.retryMethods)) {
                  System.out.println("===Initiating retry...");
                  retry(notifier, featureElementRunner, e);
              }
          } finally {
              System.out.println(((ExtendedExecutionUnitRunner) runner).getCucumberScenario().getGherkinModel().getId()
              + "Scenario completed..." + this.getRuntime().exitStatus());
          }
  
          this.setScenarioCount(this.getScenarioCount() + 1);
          this.setFailedAttempts(0);
     }
docs: /* (non-Javadoc)
  @see org.junit.runners.Suite#runChild(org.junit.runner.Runner, org.junit.runner.notification.RunNotifier)