docs: @Override
      public void validate(ValidationHelper helper, Context context, String key, Header t) {
  
          if (t != null) {
  
              String reference = t.getRef();
  
              if (reference != null && !reference.isEmpty()) {
                  ValidatorUtils.referenceValidatorHelper(reference, t, helper, context, key);
                  return;
              }
  
              // The examples object is mutually exclusive of the example object.
              if ((t.getExample() != null) && (t.getExamples() != null && !t.getExamples().isEmpty())) {
                  final String message = Tr.formatMessage(tc, "headerExampleOrExamples", key);
                  helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.WARNING, context.getLocation(), message));
              }
  
              Schema schema = t.getSchema();
              Content content = t.getContent();
              // A parameter MUST contain either a schema property, or a content property, but not both.
              if (schema == null && content == null) {
                  final String message = Tr.formatMessage(tc, "headerSchemaOrContent", key);
                  helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.ERROR, context.getLocation(), message));
              }
  
              if (schema != null && content != null) {
                  final String message = Tr.formatMessage(tc, "headerSchemaAndContent", key);
                  helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.ERROR, context.getLocation(), message));
              }
  
              //The 'content' map MUST only contain one entry.
              if (content != null && content.size() > 1) {
                  final String message = Tr.formatMessage(tc, "headerContentMap", key);
                  helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.ERROR, context.getLocation(), message));
  
              }
          }
      }