public function set($state = NULL, array $tokens) {
    switch (TRUE) {
      case ($state === Audit::SUCCESS):
      case ($state === Audit::PASS):
        $state = Audit::SUCCESS;
        break;

      case ($state === Audit::FAILURE):
      case ($state === Audit::FAIL):
        $state = Audit::FAIL;
        break;

      case ($state === Audit::NOT_APPLICABLE):
      case ($state === NULL):
        $state = Audit::NOT_APPLICABLE;
        break;

      case ($state === Audit::IRRELEVANT):
      case ($state === Audit::WARNING):
      case ($state === Audit::WARNING_FAIL):
      case ($state === Audit::NOTICE):
      case ($state === Audit::ERROR):
        // Do nothing. These are all ok.
        break;

      default:
        throw new AuditResponseException("Unknown state set in Audit Response: $state");
    }

    $this->state = $state;
    $this->tokens = $tokens;
  }