@Override
    public void afterStep(
        TestCaseRunner testRunner,
        SecurityTestRunContext runContext,
        SecurityTestStepResult result) {
      if (runContext.getCurrentStep().getId().equals(testStep.getId())) {
        if (!(progressBar.getString().equals(STATE_CANCEL)
                || progressBar.getString().equals(STATE_MISSING_ASSERTIONS)
                || progressBar.getString().equals(STATE_MISSING_PARAMETERS))
            && securityTest.getSecurityTestStepResultMap().get(testStep) != null) {
          SecurityTestStepResult results =
              securityTest.getSecurityTestStepResultMap().get(testStep);
          /*
           * This is hack since SecurityTestStepResult.getStatus() do not
           * returns real state of execution.
           *
           * SKIPPED state overides all except FAILED , which is wrong.
           */
          boolean skipped = results.getSecurityScanResultList().size() > 0;

          for (SecurityScanResult res : results.getSecurityScanResultList()) {
            if (res.getStatus() == ResultStatus.SKIPPED) continue;
            else {
              skipped = false;
              break;
            }
          }
          if (skipped) {
            progressBar.setString("SKIPPED");
            progressBar.setForeground(UNKNOWN_COLOR);
          } else {
            progressBar.setString(STATE_DONE);
          }
        }
      } else progressBar.setBackground(UNKNOWN_COLOR);
      progressBar.setValue(progressBar.getMaximum() == 0 ? 1 : progressBar.getMaximum());
      ((DefaultTreeModel) tree.getModel()).nodeChanged(node);
    }