docs: @Override
      public void validate(ValidationHelper helper, Context context, String key, OAuthFlows t) {
          if (t != null) {
              if (t.getImplicit() != null) {
                  OAuthFlow implicit = t.getImplicit();;
                  if (StringUtils.isNotBlank(implicit.getTokenUrl())) {
                      final String message = Tr.formatMessage(tc, "nonApplicableFieldWithValue", "tokenUrl", implicit.getTokenUrl(), "OAuth Flow Object", "implicit");
                      helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.WARNING, context.getLocation(), message));
                  }
                  ValidatorUtils.validateRequiredField(implicit.getAuthorizationUrl(), context, "authorizationUrl").ifPresent(helper::addValidationEvent);
              }
              if (t.getPassword() != null) {
                  OAuthFlow password = t.getPassword();
                  if (StringUtils.isNotBlank(password.getAuthorizationUrl())) {
                      final String message = Tr.formatMessage(tc, "nonApplicableFieldWithValue", "authorizationUrl", password.getAuthorizationUrl(), "OAuth Flow Object", "password");
                      helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.WARNING, context.getLocation(), message));
                  }
                  ValidatorUtils.validateRequiredField(password.getTokenUrl(), context, "tokenUrl").ifPresent(helper::addValidationEvent);
              }
              if (t.getClientCredentials() != null) {
                  OAuthFlow clientCred = t.getClientCredentials();
                  if (StringUtils.isNotBlank(clientCred.getAuthorizationUrl())) {
                      final String message = Tr.formatMessage(tc, "nonApplicableFieldWithValue", "authorizationUrl", clientCred.getAuthorizationUrl(), "OAuth Flow Object",
                                                              "clientCredentials");
                      helper.addValidationEvent(new ValidationEvent(ValidationEvent.Severity.WARNING, context.getLocation(), message));
                  }
                  ValidatorUtils.validateRequiredField(clientCred.getTokenUrl(), context, "tokenUrl").ifPresent(helper::addValidationEvent);
              }
              if (t.getAuthorizationCode() != null) {
                  OAuthFlow authCode = t.getAuthorizationCode();
                  ValidatorUtils.validateRequiredField(authCode.getTokenUrl(), context, "tokenUrl").ifPresent(helper::addValidationEvent);
                  ValidatorUtils.validateRequiredField(authCode.getAuthorizationUrl(), context, "authorizationUrl").ifPresent(helper::addValidationEvent);
              }
          }
      }