code: @Override
      public void validate(ValidationHelper helper, Context context, String key, OpenAPI t) {
          if (t != null) {
              String openapiVersion = t.getOpenapi();
              ValidatorUtils.validateRequiredField(openapiVersion, context, "openapi").ifPresent(helper::addValidationEvent);
              ValidatorUtils.validateRequiredField(t.getInfo(), context, "info").ifPresent(helper::addValidationEvent);
              ValidatorUtils.validateRequiredField(t.getPaths(), context, "paths").ifPresent(helper::addValidationEvent);
  
              if (openapiVersion != null && !openapiVersion.startsWith("3.")) {
                  final String message = Tr.formatMessage(tc, "openAPIVersionInvalid", openapiVersion);
                  helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.ERROR, context.getLocation(), message));
              }
  
              List<Tag> tags = t.getTags();
              if (tags != null) {
                  Set<String> tagNames = new HashSet<String>();
                  for (Tag tag : tags) {
                      if (!tagNames.add(tag.getName())) {
                          final String message = Tr.formatMessage(tc, "openAPITagIsNotUnique", tag.getName());
                          helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.ERROR, context.getLocation(), message));
                      }
                  }
              }
          }
      }
docs: {@inheritDoc}