protected void visitTestSet(TestSetResult testSetResult) {
   sb.append("================================================================================\n");
   sb.append("  Test Set \"").append(testSetResult.getTestElem().getName()).append("\"\n");
   sb.append("  Tests run: ")
       .append(testSetResult.getNbTests())
       .append(", Failures: ")
       .append(testSetResult.getNbFailure())
       .append(", Skipped: ")
       .append(testSetResult.getNbSkipped());
   sb.append("  Time elapsed: ").append(testSetResult.formatExecutionTime());
   sb.append(
       "\n================================================================================\n\n");
   if (testSetResult.getState() == State.FAILURE) {
     for (TestResult testResult : testSetResult.getSubResults()) {
       if (testResult.getState() == State.FAILURE) {
         visitSet(testResult);
       }
     }
   }
 }