This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 3bcd768325 SonarQube bug fixes
3bcd768325 is described below

commit 3bcd76832593d1da38853aa7ccbfdb2d5db38898
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 4 09:56:30 2026 -0500

    SonarQube bug fixes
---
 .../org/apache/juneau/bean/openapi3/Callback.java  |   9 +-
 .../apache/juneau/bean/openapi3/Components.java    |  73 ++++++-----
 .../org/apache/juneau/bean/openapi3/Encoding.java  |  41 +++---
 .../apache/juneau/bean/openapi3/HeaderInfo.java    |  81 ++++++------
 .../java/org/apache/juneau/bean/openapi3/Info.java |  49 +++----
 .../org/apache/juneau/bean/openapi3/Items.java     | 145 +++++++++++----------
 .../java/org/apache/juneau/bean/openapi3/Link.java |  49 +++----
 .../org/apache/juneau/bean/openapi3/OpenApi.java   |  65 ++++-----
 .../org/apache/juneau/bean/openapi3/Operation.java |  97 +++++++-------
 .../org/apache/juneau/bean/openapi3/Parameter.java |  99 +++++++-------
 .../org/apache/juneau/bean/openapi3/PathItem.java  |  97 +++++++-------
 .../juneau/bean/openapi3/RequestBodyInfo.java      |  25 ++--
 .../juneau/bean/openapi3/SecuritySchemeInfo.java   |  65 ++++-----
 .../org/apache/juneau/bean/swagger/Operation.java  |  97 +++++++-------
 .../org/apache/juneau/bean/swagger/Swagger.java    | 123 ++++++++---------
 .../java/org/apache/juneau/uon/Common_UonTest.java |  19 ++-
 16 files changed, 582 insertions(+), 552 deletions(-)

diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
index 6d6bdb469b..fb36d2155d 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
@@ -70,10 +70,11 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Callback extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_CALLBACKS = "callbacks";
+       private static final String PROP_callbacks = "callbacks";
 
        private Map<String,PathItem> callbacks;
 
@@ -121,7 +122,7 @@ public class Callback extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CALLBACKS -> toType(getCallbacks(), type);
+                       case PROP_callbacks -> toType(getCallbacks(), type);
                        default -> super.get(property, type);
                };
        }
@@ -137,7 +138,7 @@ public class Callback extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(callbacks), PROP_CALLBACKS)
+                       .addIf(nn(callbacks), PROP_callbacks)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -147,7 +148,7 @@ public class Callback extends OpenApiElement {
        public Callback set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CALLBACKS -> setCallbacks(toMapBuilder(value, 
String.class, PathItem.class).sparse().build());
+                       case PROP_callbacks -> setCallbacks(toMapBuilder(value, 
String.class, PathItem.class).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Components.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Components.java
index 6aacc2be31..ba3e98057b 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Components.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Components.java
@@ -82,18 +82,19 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Components extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_CALLBACKS = "callbacks";
-       private static final String PROP_EXAMPLES = "examples";
-       private static final String PROP_HEADERS = "headers";
-       private static final String PROP_LINKS = "links";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_REQUEST_BODIES = "requestBodies";
-       private static final String PROP_RESPONSES = "responses";
-       private static final String PROP_SCHEMAS = "schemas";
-       private static final String PROP_SECURITY_SCHEMES = "securitySchemes";
+       private static final String PROP_callbacks = "callbacks";
+       private static final String PROP_examples = "examples";
+       private static final String PROP_headers = "headers";
+       private static final String PROP_links = "links";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_requestBodies = "requestBodies";
+       private static final String PROP_responses = "responses";
+       private static final String PROP_schemas = "schemas";
+       private static final String PROP_securitySchemes = "securitySchemes";
 
        private Map<String,SchemaInfo> schemas;
        private Map<String,Response> responses;
@@ -141,15 +142,15 @@ public class Components extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_SCHEMAS -> toType(getSchemas(), type);
-                       case PROP_RESPONSES -> toType(getResponses(), type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
-                       case PROP_EXAMPLES -> toType(getExamples(), type);
-                       case PROP_REQUEST_BODIES -> toType(getRequestBodies(), 
type);
-                       case PROP_HEADERS -> toType(getHeaders(), type);
-                       case PROP_SECURITY_SCHEMES -> 
toType(getSecuritySchemes(), type);
-                       case PROP_LINKS -> toType(getLinks(), type);
-                       case PROP_CALLBACKS -> toType(getCallbacks(), type);
+                       case PROP_schemas -> toType(getSchemas(), type);
+                       case PROP_responses -> toType(getResponses(), type);
+                       case PROP_parameters -> toType(getParameters(), type);
+                       case PROP_examples -> toType(getExamples(), type);
+                       case PROP_requestBodies -> toType(getRequestBodies(), 
type);
+                       case PROP_headers -> toType(getHeaders(), type);
+                       case PROP_securitySchemes -> 
toType(getSecuritySchemes(), type);
+                       case PROP_links -> toType(getLinks(), type);
+                       case PROP_callbacks -> toType(getCallbacks(), type);
                        default -> super.get(property, type);
                };
        }
@@ -221,15 +222,15 @@ public class Components extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(callbacks), PROP_CALLBACKS)
-                       .addIf(nn(examples), PROP_EXAMPLES)
-                       .addIf(nn(headers), PROP_HEADERS)
-                       .addIf(nn(links), PROP_LINKS)
-                       .addIf(nn(parameters), PROP_PARAMETERS)
-                       .addIf(nn(requestBodies), PROP_REQUEST_BODIES)
-                       .addIf(nn(responses), PROP_RESPONSES)
-                       .addIf(nn(schemas), PROP_SCHEMAS)
-                       .addIf(nn(securitySchemes), PROP_SECURITY_SCHEMES)
+                       .addIf(nn(callbacks), PROP_callbacks)
+                       .addIf(nn(examples), PROP_examples)
+                       .addIf(nn(headers), PROP_headers)
+                       .addIf(nn(links), PROP_links)
+                       .addIf(nn(parameters), PROP_parameters)
+                       .addIf(nn(requestBodies), PROP_requestBodies)
+                       .addIf(nn(responses), PROP_responses)
+                       .addIf(nn(schemas), PROP_schemas)
+                       .addIf(nn(securitySchemes), PROP_securitySchemes)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -239,15 +240,15 @@ public class Components extends OpenApiElement {
        public Components set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CALLBACKS -> setCallbacks(toMapBuilder(value, 
String.class, Callback.class).sparse().build());
-                       case PROP_EXAMPLES -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
-                       case PROP_HEADERS -> setHeaders(toMapBuilder(value, 
String.class, HeaderInfo.class).sparse().build());
-                       case PROP_LINKS -> setLinks(toMapBuilder(value, 
String.class, Link.class).sparse().build());
-                       case PROP_PARAMETERS -> 
setParameters(toMapBuilder(value, String.class, 
Parameter.class).sparse().build());
-                       case PROP_REQUEST_BODIES -> 
setRequestBodies(toMapBuilder(value, String.class, 
RequestBodyInfo.class).sparse().build());
-                       case PROP_RESPONSES -> setResponses(toMapBuilder(value, 
String.class, Response.class).sparse().build());
-                       case PROP_SCHEMAS -> setSchemas(toMapBuilder(value, 
String.class, SchemaInfo.class).sparse().build());
-                       case PROP_SECURITY_SCHEMES -> 
setSecuritySchemes(toMapBuilder(value, String.class, 
SecuritySchemeInfo.class).sparse().build());
+                       case PROP_callbacks -> setCallbacks(toMapBuilder(value, 
String.class, Callback.class).sparse().build());
+                       case PROP_examples -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
+                       case PROP_headers -> setHeaders(toMapBuilder(value, 
String.class, HeaderInfo.class).sparse().build());
+                       case PROP_links -> setLinks(toMapBuilder(value, 
String.class, Link.class).sparse().build());
+                       case PROP_parameters -> 
setParameters(toMapBuilder(value, String.class, 
Parameter.class).sparse().build());
+                       case PROP_requestBodies -> 
setRequestBodies(toMapBuilder(value, String.class, 
RequestBodyInfo.class).sparse().build());
+                       case PROP_responses -> setResponses(toMapBuilder(value, 
String.class, Response.class).sparse().build());
+                       case PROP_schemas -> setSchemas(toMapBuilder(value, 
String.class, SchemaInfo.class).sparse().build());
+                       case PROP_securitySchemes -> 
setSecuritySchemes(toMapBuilder(value, String.class, 
SecuritySchemeInfo.class).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Encoding.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Encoding.java
index dd3988e3df..82af9943f0 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Encoding.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Encoding.java
@@ -74,14 +74,15 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Encoding extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_ALLOW_RESERVED = "allowReserved";
-       private static final String PROP_CONTENT_TYPE = "contentType";
-       private static final String PROP_EXPLODE = "explode";
-       private static final String PROP_HEADERS = "headers";
-       private static final String PROP_STYLE = "style";
+       private static final String PROP_allowReserved = "allowReserved";
+       private static final String PROP_contentType = "contentType";
+       private static final String PROP_explode = "explode";
+       private static final String PROP_headers = "headers";
+       private static final String PROP_style = "style";
 
        private String contentType, style;
        private Map<String,HeaderInfo> headers = map();
@@ -137,11 +138,11 @@ public class Encoding extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CONTENT_TYPE -> toType(getContentType(), 
type);
-                       case PROP_STYLE -> toType(getStyle(), type);
-                       case PROP_HEADERS -> toType(getHeaders(), type);
-                       case PROP_EXPLODE -> toType(getExplode(), type);
-                       case PROP_ALLOW_RESERVED -> toType(getAllowReserved(), 
type);
+                       case PROP_contentType -> toType(getContentType(), type);
+                       case PROP_style -> toType(getStyle(), type);
+                       case PROP_headers -> toType(getHeaders(), type);
+                       case PROP_explode -> toType(getExplode(), type);
+                       case PROP_allowReserved -> toType(getAllowReserved(), 
type);
                        default -> super.get(property, type);
                };
        }
@@ -194,11 +195,11 @@ public class Encoding extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(allowReserved), PROP_ALLOW_RESERVED)
-                       .addIf(nn(contentType), PROP_CONTENT_TYPE)
-                       .addIf(nn(explode), PROP_EXPLODE)
-                       .addIf(ne(headers), PROP_HEADERS)
-                       .addIf(nn(style), PROP_STYLE)
+                       .addIf(nn(allowReserved), PROP_allowReserved)
+                       .addIf(nn(contentType), PROP_contentType)
+                       .addIf(nn(explode), PROP_explode)
+                       .addIf(ne(headers), PROP_headers)
+                       .addIf(nn(style), PROP_style)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -208,11 +209,11 @@ public class Encoding extends OpenApiElement {
        public Encoding set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_ALLOW_RESERVED -> 
setAllowReserved(toBoolean(value));
-                       case PROP_CONTENT_TYPE -> setContentType(s(value));
-                       case PROP_EXPLODE -> setExplode(toBoolean(value));
-                       case PROP_HEADERS -> setHeaders(toMapBuilder(value, 
String.class, HeaderInfo.class).sparse().build());
-                       case PROP_STYLE -> setStyle(s(value));
+                       case PROP_allowReserved -> 
setAllowReserved(toBoolean(value));
+                       case PROP_contentType -> setContentType(s(value));
+                       case PROP_explode -> setExplode(toBoolean(value));
+                       case PROP_headers -> setHeaders(toMapBuilder(value, 
String.class, HeaderInfo.class).sparse().build());
+                       case PROP_style -> setStyle(s(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/HeaderInfo.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/HeaderInfo.java
index 172084dd77..cf641aa74c 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/HeaderInfo.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/HeaderInfo.java
@@ -75,19 +75,20 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class HeaderInfo extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_ALLOW_EMPTY_VALUE = "allowEmptyValue";
-       private static final String PROP_ALLOW_RESERVED = "allowReserved";
-       private static final String PROP_DEPRECATED = "deprecated";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_EXAMPLES = "examples";
-       private static final String PROP_EXPLODE = "explode";
-       private static final String PROP_REF = "$ref";
-       private static final String PROP_REQUIRED = "required";
-       private static final String PROP_SCHEMA = "schema";
-       private static final String PROP_X_EXAMPLE = "x-example";
+       private static final String PROP_allowEmptyValue = "allowEmptyValue";
+       private static final String PROP_allowReserved = "allowReserved";
+       private static final String PROP_deprecated = "deprecated";
+       private static final String PROP_description = "description";
+       private static final String PROP_examples = "examples";
+       private static final String PROP_explode = "explode";
+       private static final String PROP_ref = "$ref";
+       private static final String PROP_required = "required";
+       private static final String PROP_schema = "schema";
+       private static final String PROP_xExample = "x-example";
 
        private String description, ref;
        private Boolean required, explode, deprecated, allowEmptyValue, 
allowReserved;
@@ -148,16 +149,16 @@ public class HeaderInfo extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_REQUIRED -> toType(getRequired(), type);
-                       case PROP_EXPLODE -> toType(getExplode(), type);
-                       case PROP_DEPRECATED -> toType(getDeprecated(), type);
-                       case PROP_ALLOW_EMPTY_VALUE -> 
toType(getAllowEmptyValue(), type);
-                       case PROP_ALLOW_RESERVED -> toType(getAllowReserved(), 
type);
-                       case PROP_REF -> toType(getRef(), type);
-                       case PROP_SCHEMA -> toType(getSchema(), type);
-                       case PROP_X_EXAMPLE -> toType(getExample(), type);
-                       case PROP_EXAMPLES -> toType(getExamples(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_required -> toType(getRequired(), type);
+                       case PROP_explode -> toType(getExplode(), type);
+                       case PROP_deprecated -> toType(getDeprecated(), type);
+                       case PROP_allowEmptyValue -> 
toType(getAllowEmptyValue(), type);
+                       case PROP_allowReserved -> toType(getAllowReserved(), 
type);
+                       case PROP_ref -> toType(getRef(), type);
+                       case PROP_schema -> toType(getSchema(), type);
+                       case PROP_xExample -> toType(getExample(), type);
+                       case PROP_examples -> toType(getExamples(), type);
                        default -> super.get(property, type);
                };
        }
@@ -259,16 +260,16 @@ public class HeaderInfo extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(ref), PROP_REF)
-                       .addIf(nn(allowEmptyValue), PROP_ALLOW_EMPTY_VALUE)
-                       .addIf(nn(allowReserved), PROP_ALLOW_RESERVED)
-                       .addIf(nn(deprecated), PROP_DEPRECATED)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(ne(examples), PROP_EXAMPLES)
-                       .addIf(nn(explode), PROP_EXPLODE)
-                       .addIf(nn(required), PROP_REQUIRED)
-                       .addIf(nn(schema), PROP_SCHEMA)
-                       .addIf(nn(example), PROP_X_EXAMPLE)
+                       .addIf(nn(ref), PROP_ref)
+                       .addIf(nn(allowEmptyValue), PROP_allowEmptyValue)
+                       .addIf(nn(allowReserved), PROP_allowReserved)
+                       .addIf(nn(deprecated), PROP_deprecated)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(ne(examples), PROP_examples)
+                       .addIf(nn(explode), PROP_explode)
+                       .addIf(nn(required), PROP_required)
+                       .addIf(nn(schema), PROP_schema)
+                       .addIf(nn(example), PROP_xExample)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -305,16 +306,16 @@ public class HeaderInfo extends OpenApiElement {
        public HeaderInfo set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_REF -> setRef(s(value));
-                       case PROP_ALLOW_EMPTY_VALUE -> 
setAllowEmptyValue(toBoolean(value));
-                       case PROP_ALLOW_RESERVED -> 
setAllowReserved(toBoolean(value));
-                       case PROP_DEPRECATED -> setDeprecated(toBoolean(value));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_EXAMPLES -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
-                       case PROP_EXPLODE -> setExplode(toBoolean(value));
-                       case PROP_REQUIRED -> setRequired(toBoolean(value));
-                       case PROP_SCHEMA -> setSchema(toType(value, 
SchemaInfo.class));
-                       case PROP_X_EXAMPLE -> setExample(value);
+                       case PROP_ref -> setRef(s(value));
+                       case PROP_allowEmptyValue -> 
setAllowEmptyValue(toBoolean(value));
+                       case PROP_allowReserved -> 
setAllowReserved(toBoolean(value));
+                       case PROP_deprecated -> setDeprecated(toBoolean(value));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_examples -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
+                       case PROP_explode -> setExplode(toBoolean(value));
+                       case PROP_required -> setRequired(toBoolean(value));
+                       case PROP_schema -> setSchema(toType(value, 
SchemaInfo.class));
+                       case PROP_xExample -> setExample(value);
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Info.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Info.java
index 1dfc81c2e3..f5a2a5cbfb 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Info.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Info.java
@@ -98,15 +98,16 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Info extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_CONTACT = "contact";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_LICENSE = "license";
-       private static final String PROP_TERMS_OF_SERVICE = "termsOfService";
-       private static final String PROP_TITLE = "title";
-       private static final String PROP_VERSION = "version";
+       private static final String PROP_contact = "contact";
+       private static final String PROP_description = "description";
+       private static final String PROP_license = "license";
+       private static final String PROP_termsOfService = "termsOfService";
+       private static final String PROP_title = "title";
+       private static final String PROP_version = "version";
 
        private String title, description, termsOfService, version;
        private Contact contact;
@@ -146,12 +147,12 @@ public class Info extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_TITLE -> toType(getTitle(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_TERMS_OF_SERVICE -> 
toType(getTermsOfService(), type);
-                       case PROP_CONTACT -> toType(getContact(), type);
-                       case PROP_LICENSE -> toType(getLicense(), type);
-                       case PROP_VERSION -> toType(getVersion(), type);
+                       case PROP_title -> toType(getTitle(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_termsOfService -> toType(getTermsOfService(), 
type);
+                       case PROP_contact -> toType(getContact(), type);
+                       case PROP_license -> toType(getLicense(), type);
+                       case PROP_version -> toType(getVersion(), type);
                        default -> super.get(property, type);
                };
        }
@@ -220,12 +221,12 @@ public class Info extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(contact), PROP_CONTACT)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(license), PROP_LICENSE)
-                       .addIf(nn(termsOfService), PROP_TERMS_OF_SERVICE)
-                       .addIf(nn(title), PROP_TITLE)
-                       .addIf(nn(version), PROP_VERSION)
+                       .addIf(nn(contact), PROP_contact)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(license), PROP_license)
+                       .addIf(nn(termsOfService), PROP_termsOfService)
+                       .addIf(nn(title), PROP_title)
+                       .addIf(nn(version), PROP_version)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -235,12 +236,12 @@ public class Info extends OpenApiElement {
        public Info set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CONTACT -> setContact(toType(value, 
Contact.class));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_LICENSE -> setLicense(toType(value, 
License.class));
-                       case PROP_TERMS_OF_SERVICE -> 
setTermsOfService(s(value));
-                       case PROP_TITLE -> setTitle(s(value));
-                       case PROP_VERSION -> setVersion(s(value));
+                       case PROP_contact -> setContact(toType(value, 
Contact.class));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_license -> setLicense(toType(value, 
License.class));
+                       case PROP_termsOfService -> setTermsOfService(s(value));
+                       case PROP_title -> setTitle(s(value));
+                       case PROP_version -> setVersion(s(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
index 5bcac70686..efa3272ff0 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Items.java
@@ -79,30 +79,31 @@ import org.apache.juneau.json.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Items extends OpenApiElement {
 
        private static final String[] VALID_TYPES = { "string", "number", 
"integer", "boolean", "array" };
        private static final String[] VALID_COLLECTION_FORMATS = { "csv", 
"ssv", "tsv", "pipes", "multi" };
 
        // Property name constants
-       private static final String PROP_COLLECTION_FORMAT = "collectionFormat";
-       private static final String PROP_DEFAULT = "default";
-       private static final String PROP_ENUM = "enum";
-       private static final String PROP_EXCLUSIVE_MAXIMUM = "exclusiveMaximum";
-       private static final String PROP_EXCLUSIVE_MINIMUM = "exclusiveMinimum";
-       private static final String PROP_FORMAT = "format";
-       private static final String PROP_ITEMS = "items";
-       private static final String PROP_MAXIMUM = "maximum";
-       private static final String PROP_MAX_ITEMS = "maxItems";
-       private static final String PROP_MAX_LENGTH = "maxLength";
-       private static final String PROP_MINIMUM = "minimum";
-       private static final String PROP_MIN_ITEMS = "minItems";
-       private static final String PROP_MIN_LENGTH = "minLength";
-       private static final String PROP_MULTIPLE_OF = "multipleOf";
-       private static final String PROP_PATTERN = "pattern";
-       private static final String PROP_REF = "$ref";
-       private static final String PROP_TYPE = "type";
-       private static final String PROP_UNIQUE_ITEMS = "uniqueItems";
+       private static final String PROP_collectionFormat = "collectionFormat";
+       private static final String PROP_default = "default";
+       private static final String PROP_enum = "enum";
+       private static final String PROP_exclusiveMaximum = "exclusiveMaximum";
+       private static final String PROP_exclusiveMinimum = "exclusiveMinimum";
+       private static final String PROP_format = "format";
+       private static final String PROP_items = "items";
+       private static final String PROP_maxItems = "maxItems";
+       private static final String PROP_maxLength = "maxLength";
+       private static final String PROP_maximum = "maximum";
+       private static final String PROP_minItems = "minItems";
+       private static final String PROP_minLength = "minLength";
+       private static final String PROP_minimum = "minimum";
+       private static final String PROP_multipleOf = "multipleOf";
+       private static final String PROP_pattern = "pattern";
+       private static final String PROP_ref = "$ref";
+       private static final String PROP_type = "type";
+       private static final String PROP_uniqueItems = "uniqueItems";
 
        private String type, format, collectionFormat, pattern, ref;
        private Number maximum, minimum, multipleOf;
@@ -175,24 +176,24 @@ public class Items extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_TYPE -> toType(getType(), type);
-                       case PROP_FORMAT -> toType(getFormat(), type);
-                       case PROP_ITEMS -> toType(getItems(), type);
-                       case PROP_COLLECTION_FORMAT -> 
toType(getCollectionFormat(), type);
-                       case PROP_DEFAULT -> toType(getDefault(), type);
-                       case PROP_MAXIMUM -> toType(getMaximum(), type);
-                       case PROP_EXCLUSIVE_MAXIMUM -> 
toType(getExclusiveMaximum(), type);
-                       case PROP_MINIMUM -> toType(getMinimum(), type);
-                       case PROP_EXCLUSIVE_MINIMUM -> 
toType(getExclusiveMinimum(), type);
-                       case PROP_MAX_LENGTH -> toType(getMaxLength(), type);
-                       case PROP_MIN_LENGTH -> toType(getMinLength(), type);
-                       case PROP_PATTERN -> toType(getPattern(), type);
-                       case PROP_MAX_ITEMS -> toType(getMaxItems(), type);
-                       case PROP_MIN_ITEMS -> toType(getMinItems(), type);
-                       case PROP_UNIQUE_ITEMS -> toType(getUniqueItems(), 
type);
-                       case PROP_ENUM -> toType(getEnum(), type);
-                       case PROP_MULTIPLE_OF -> toType(getMultipleOf(), type);
-                       case PROP_REF -> toType(getRef(), type);
+                       case PROP_type -> toType(getType(), type);
+                       case PROP_format -> toType(getFormat(), type);
+                       case PROP_items -> toType(getItems(), type);
+                       case PROP_collectionFormat -> 
toType(getCollectionFormat(), type);
+                       case PROP_default -> toType(getDefault(), type);
+                       case PROP_maximum -> toType(getMaximum(), type);
+                       case PROP_exclusiveMaximum -> 
toType(getExclusiveMaximum(), type);
+                       case PROP_minimum -> toType(getMinimum(), type);
+                       case PROP_exclusiveMinimum -> 
toType(getExclusiveMinimum(), type);
+                       case PROP_maxLength -> toType(getMaxLength(), type);
+                       case PROP_minLength -> toType(getMinLength(), type);
+                       case PROP_pattern -> toType(getPattern(), type);
+                       case PROP_maxItems -> toType(getMaxItems(), type);
+                       case PROP_minItems -> toType(getMinItems(), type);
+                       case PROP_uniqueItems -> toType(getUniqueItems(), type);
+                       case PROP_enum -> toType(getEnum(), type);
+                       case PROP_multipleOf -> toType(getMultipleOf(), type);
+                       case PROP_ref -> toType(getRef(), type);
                        default -> super.get(property, type);
                };
        }
@@ -351,24 +352,24 @@ public class Items extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(ref), PROP_REF)
-                       .addIf(nn(collectionFormat), PROP_COLLECTION_FORMAT)
-                       .addIf(nn(default_), PROP_DEFAULT)
-                       .addIf(ne(enum_), PROP_ENUM)
-                       .addIf(nn(exclusiveMaximum), PROP_EXCLUSIVE_MAXIMUM)
-                       .addIf(nn(exclusiveMinimum), PROP_EXCLUSIVE_MINIMUM)
-                       .addIf(nn(format), PROP_FORMAT)
-                       .addIf(nn(items), PROP_ITEMS)
-                       .addIf(nn(maxItems), PROP_MAX_ITEMS)
-                       .addIf(nn(maxLength), PROP_MAX_LENGTH)
-                       .addIf(nn(maximum), PROP_MAXIMUM)
-                       .addIf(nn(minItems), PROP_MIN_ITEMS)
-                       .addIf(nn(minLength), PROP_MIN_LENGTH)
-                       .addIf(nn(minimum), PROP_MINIMUM)
-                       .addIf(nn(multipleOf), PROP_MULTIPLE_OF)
-                       .addIf(nn(pattern), PROP_PATTERN)
-                       .addIf(nn(type), PROP_TYPE)
-                       .addIf(nn(uniqueItems), PROP_UNIQUE_ITEMS)
+                       .addIf(nn(ref), PROP_ref)
+                       .addIf(nn(collectionFormat), PROP_collectionFormat)
+                       .addIf(nn(default_), PROP_default)
+                       .addIf(ne(enum_), PROP_enum)
+                       .addIf(nn(exclusiveMaximum), PROP_exclusiveMaximum)
+                       .addIf(nn(exclusiveMinimum), PROP_exclusiveMinimum)
+                       .addIf(nn(format), PROP_format)
+                       .addIf(nn(items), PROP_items)
+                       .addIf(nn(maxItems), PROP_maxItems)
+                       .addIf(nn(maxLength), PROP_maxLength)
+                       .addIf(nn(maximum), PROP_maximum)
+                       .addIf(nn(minItems), PROP_minItems)
+                       .addIf(nn(minLength), PROP_minLength)
+                       .addIf(nn(minimum), PROP_minimum)
+                       .addIf(nn(multipleOf), PROP_multipleOf)
+                       .addIf(nn(pattern), PROP_pattern)
+                       .addIf(nn(type), PROP_type)
+                       .addIf(nn(uniqueItems), PROP_uniqueItems)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -413,24 +414,24 @@ public class Items extends OpenApiElement {
        public Items set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_REF -> setRef(value);
-                       case PROP_COLLECTION_FORMAT -> 
setCollectionFormat(s(value));
-                       case PROP_DEFAULT -> setDefault(value);
-                       case PROP_ENUM -> setEnum(value);
-                       case PROP_EXCLUSIVE_MAXIMUM -> 
setExclusiveMaximum(toBoolean(value));
-                       case PROP_EXCLUSIVE_MINIMUM -> 
setExclusiveMinimum(toBoolean(value));
-                       case PROP_FORMAT -> setFormat(s(value));
-                       case PROP_ITEMS -> setItems(toType(value, Items.class));
-                       case PROP_MAX_ITEMS -> setMaxItems(toInteger(value));
-                       case PROP_MAX_LENGTH -> setMaxLength(toInteger(value));
-                       case PROP_MAXIMUM -> setMaximum(toNumber(value));
-                       case PROP_MIN_ITEMS -> setMinItems(toInteger(value));
-                       case PROP_MIN_LENGTH -> setMinLength(toInteger(value));
-                       case PROP_MINIMUM -> setMinimum(toNumber(value));
-                       case PROP_MULTIPLE_OF -> setMultipleOf(toNumber(value));
-                       case PROP_PATTERN -> setPattern(s(value));
-                       case PROP_TYPE -> setType(s(value));
-                       case PROP_UNIQUE_ITEMS -> 
setUniqueItems(toBoolean(value));
+                       case PROP_ref -> setRef(value);
+                       case PROP_collectionFormat -> 
setCollectionFormat(s(value));
+                       case PROP_default -> setDefault(value);
+                       case PROP_enum -> setEnum(value);
+                       case PROP_exclusiveMaximum -> 
setExclusiveMaximum(toBoolean(value));
+                       case PROP_exclusiveMinimum -> 
setExclusiveMinimum(toBoolean(value));
+                       case PROP_format -> setFormat(s(value));
+                       case PROP_items -> setItems(toType(value, Items.class));
+                       case PROP_maxItems -> setMaxItems(toInteger(value));
+                       case PROP_maxLength -> setMaxLength(toInteger(value));
+                       case PROP_maximum -> setMaximum(toNumber(value));
+                       case PROP_minItems -> setMinItems(toInteger(value));
+                       case PROP_minLength -> setMinLength(toInteger(value));
+                       case PROP_minimum -> setMinimum(toNumber(value));
+                       case PROP_multipleOf -> setMultipleOf(toNumber(value));
+                       case PROP_pattern -> setPattern(s(value));
+                       case PROP_type -> setType(s(value));
+                       case PROP_uniqueItems -> 
setUniqueItems(toBoolean(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Link.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Link.java
index 347272d22f..6135d0ea7a 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Link.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Link.java
@@ -62,15 +62,16 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Link extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_OPERATION_ID = "operationId";
-       private static final String PROP_OPERATION_REF = "operationRef";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_REQUEST_BODY = "requestBody";
-       private static final String PROP_SERVER = "server";
+       private static final String PROP_description = "description";
+       private static final String PROP_operationId = "operationId";
+       private static final String PROP_operationRef = "operationRef";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_requestBody = "requestBody";
+       private static final String PROP_server = "server";
 
        private String operationRef;
        private String operationId;
@@ -128,12 +129,12 @@ public class Link extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_OPERATION_REF -> toType(getOperationRef(), 
type);
-                       case PROP_OPERATION_ID -> toType(getOperationId(), 
type);
-                       case PROP_REQUEST_BODY -> toType(getRequestBody(), 
type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
-                       case PROP_SERVER -> toType(getServer(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_operationRef -> toType(getOperationRef(), 
type);
+                       case PROP_operationId -> toType(getOperationId(), type);
+                       case PROP_requestBody -> toType(getRequestBody(), type);
+                       case PROP_parameters -> toType(getParameters(), type);
+                       case PROP_server -> toType(getServer(), type);
                        default -> super.get(property, type);
                };
        }
@@ -203,12 +204,12 @@ public class Link extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(operationId), PROP_OPERATION_ID)
-                       .addIf(nn(operationRef), PROP_OPERATION_REF)
-                       .addIf(ne(parameters), PROP_PARAMETERS)
-                       .addIf(nn(requestBody), PROP_REQUEST_BODY)
-                       .addIf(nn(server), PROP_SERVER)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(operationId), PROP_operationId)
+                       .addIf(nn(operationRef), PROP_operationRef)
+                       .addIf(ne(parameters), PROP_parameters)
+                       .addIf(nn(requestBody), PROP_requestBody)
+                       .addIf(nn(server), PROP_server)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -218,12 +219,12 @@ public class Link extends OpenApiElement {
        public Link set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_OPERATION_ID -> setOperationId(s(value));
-                       case PROP_OPERATION_REF -> setOperationRef(s(value));
-                       case PROP_PARAMETERS -> 
setParameters(toMapBuilder(value, String.class, Object.class).sparse().build());
-                       case PROP_REQUEST_BODY -> setRequestBody(value);
-                       case PROP_SERVER -> setServer(toType(value, 
Server.class));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_operationId -> setOperationId(s(value));
+                       case PROP_operationRef -> setOperationRef(s(value));
+                       case PROP_parameters -> 
setParameters(toMapBuilder(value, String.class, Object.class).sparse().build());
+                       case PROP_requestBody -> setRequestBody(value);
+                       case PROP_server -> setServer(toType(value, 
Server.class));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
index 8644da498c..9f8c07aee7 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/OpenApi.java
@@ -75,6 +75,7 @@ import org.apache.juneau.objecttools.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class OpenApi extends OpenApiElement {
 
        /** Represents a null OpenAPI document */
@@ -83,14 +84,14 @@ public class OpenApi extends OpenApiElement {
        private static final Comparator<String> PATH_COMPARATOR = (o1, o2) -> 
o1.replace('{', '@').compareTo(o2.replace('{', '@'));
 
        // Property name constants
-       private static final String PROP_COMPONENTS = "components";
-       private static final String PROP_EXTERNAL_DOCS = "externalDocs";
-       private static final String PROP_INFO = "info";
-       private static final String PROP_OPENAPI = "openapi";
-       private static final String PROP_PATHS = "paths";
-       private static final String PROP_SECURITY = "security";
-       private static final String PROP_SERVERS = "servers";
-       private static final String PROP_TAGS = "tags";
+       private static final String PROP_components = "components";
+       private static final String PROP_externalDocs = "externalDocs";
+       private static final String PROP_info = "info";
+       private static final String PROP_openapi = "openapi";
+       private static final String PROP_paths = "paths";
+       private static final String PROP_security = "security";
+       private static final String PROP_servers = "servers";
+       private static final String PROP_tags = "tags";
 
        private String openapi = "3.0.0";
        private Info info;
@@ -278,14 +279,14 @@ public class OpenApi extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_OPENAPI -> toType(getOpenapi(), type);
-                       case PROP_INFO -> toType(getInfo(), type);
-                       case PROP_SERVERS -> toType(getServers(), type);
-                       case PROP_PATHS -> toType(getPaths(), type);
-                       case PROP_COMPONENTS -> toType(getComponents(), type);
-                       case PROP_SECURITY -> toType(getSecurity(), type);
-                       case PROP_TAGS -> toType(getTags(), type);
-                       case PROP_EXTERNAL_DOCS -> toType(getExternalDocs(), 
type);
+                       case PROP_openapi -> toType(getOpenapi(), type);
+                       case PROP_info -> toType(getInfo(), type);
+                       case PROP_servers -> toType(getServers(), type);
+                       case PROP_paths -> toType(getPaths(), type);
+                       case PROP_components -> toType(getComponents(), type);
+                       case PROP_security -> toType(getSecurity(), type);
+                       case PROP_tags -> toType(getTags(), type);
+                       case PROP_externalDocs -> toType(getExternalDocs(), 
type);
                        default -> super.get(property, type);
                };
        }
@@ -350,14 +351,14 @@ public class OpenApi extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(components), PROP_COMPONENTS)
-                       .addIf(nn(externalDocs), PROP_EXTERNAL_DOCS)
-                       .addIf(nn(info), PROP_INFO)
-                       .addIf(nn(openapi), PROP_OPENAPI)
-                       .addIf(nn(paths), PROP_PATHS)
-                       .addIf(ne(security), PROP_SECURITY)
-                       .addIf(ne(servers), PROP_SERVERS)
-                       .addIf(ne(tags), PROP_TAGS)
+                       .addIf(nn(components), PROP_components)
+                       .addIf(nn(externalDocs), PROP_externalDocs)
+                       .addIf(nn(info), PROP_info)
+                       .addIf(nn(openapi), PROP_openapi)
+                       .addIf(nn(paths), PROP_paths)
+                       .addIf(ne(security), PROP_security)
+                       .addIf(ne(servers), PROP_servers)
+                       .addIf(ne(tags), PROP_tags)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -367,14 +368,14 @@ public class OpenApi extends OpenApiElement {
        public OpenApi set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_COMPONENTS -> setComponents(toType(value, 
Components.class));
-                       case PROP_EXTERNAL_DOCS -> 
setExternalDocs(toType(value, ExternalDocumentation.class));
-                       case PROP_INFO -> setInfo(toType(value, Info.class));
-                       case PROP_OPENAPI -> setOpenapi(s(value));
-                       case PROP_PATHS -> setPaths(toMapBuilder(value, 
String.class, PathItem.class).sparse().build());
-                       case PROP_SECURITY -> 
setSecurity(listb(SecurityRequirement.class).addAny(value).sparse().build());
-                       case PROP_SERVERS -> 
setServers(listb(Server.class).addAny(value).sparse().build());
-                       case PROP_TAGS -> 
setTags(listb(Tag.class).addAny(value).sparse().build());
+                       case PROP_components -> setComponents(toType(value, 
Components.class));
+                       case PROP_externalDocs -> setExternalDocs(toType(value, 
ExternalDocumentation.class));
+                       case PROP_info -> setInfo(toType(value, Info.class));
+                       case PROP_openapi -> setOpenapi(s(value));
+                       case PROP_paths -> setPaths(toMapBuilder(value, 
String.class, PathItem.class).sparse().build());
+                       case PROP_security -> 
setSecurity(listb(SecurityRequirement.class).addAny(value).sparse().build());
+                       case PROP_servers -> 
setServers(listb(Server.class).addAny(value).sparse().build());
+                       case PROP_tags -> 
setTags(listb(Tag.class).addAny(value).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Operation.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Operation.java
index b2a607e8da..e50de5d5be 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Operation.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Operation.java
@@ -89,21 +89,22 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Operation extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_CALLBACKS = "callbacks";
-       private static final String PROP_DEPRECATED = "deprecated";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_EXTERNAL_DOCS = "externalDocs";
-       private static final String PROP_OPERATION_ID = "operationId";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_REQUEST_BODY = "requestBody";
-       private static final String PROP_RESPONSES = "responses";
-       private static final String PROP_SECURITY = "security";
-       private static final String PROP_SERVERS = "servers";
-       private static final String PROP_SUMMARY = "summary";
-       private static final String PROP_TAGS = "tags";
+       private static final String PROP_callbacks = "callbacks";
+       private static final String PROP_deprecated = "deprecated";
+       private static final String PROP_description = "description";
+       private static final String PROP_externalDocs = "externalDocs";
+       private static final String PROP_operationId = "operationId";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_requestBody = "requestBody";
+       private static final String PROP_responses = "responses";
+       private static final String PROP_security = "security";
+       private static final String PROP_servers = "servers";
+       private static final String PROP_summary = "summary";
+       private static final String PROP_tags = "tags";
 
        private List<String> tags = list();
        private String summary, description, operationId;
@@ -347,18 +348,18 @@ public class Operation extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_TAGS -> toType(getTags(), type);
-                       case PROP_SUMMARY -> toType(getSummary(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_OPERATION_ID -> toType(getOperationId(), 
type);
-                       case PROP_EXTERNAL_DOCS -> toType(getExternalDocs(), 
type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
-                       case PROP_REQUEST_BODY -> toType(getRequestBody(), 
type);
-                       case PROP_RESPONSES -> toType(getResponses(), type);
-                       case PROP_CALLBACKS -> toType(getCallbacks(), type);
-                       case PROP_DEPRECATED -> toType(getDeprecated(), type);
-                       case PROP_SECURITY -> toType(getSecurity(), type);
-                       case PROP_SERVERS -> toType(getServers(), type);
+                       case PROP_tags -> toType(getTags(), type);
+                       case PROP_summary -> toType(getSummary(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_operationId -> toType(getOperationId(), type);
+                       case PROP_externalDocs -> toType(getExternalDocs(), 
type);
+                       case PROP_parameters -> toType(getParameters(), type);
+                       case PROP_requestBody -> toType(getRequestBody(), type);
+                       case PROP_responses -> toType(getResponses(), type);
+                       case PROP_callbacks -> toType(getCallbacks(), type);
+                       case PROP_deprecated -> toType(getDeprecated(), type);
+                       case PROP_security -> toType(getSecurity(), type);
+                       case PROP_servers -> toType(getServers(), type);
                        default -> super.get(property, type);
                };
        }
@@ -488,18 +489,18 @@ public class Operation extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(ne(callbacks), PROP_CALLBACKS)
-                       .addIf(nn(deprecated), PROP_DEPRECATED)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(externalDocs), PROP_EXTERNAL_DOCS)
-                       .addIf(nn(operationId), PROP_OPERATION_ID)
-                       .addIf(ne(parameters), PROP_PARAMETERS)
-                       .addIf(nn(requestBody), PROP_REQUEST_BODY)
-                       .addIf(ne(responses), PROP_RESPONSES)
-                       .addIf(ne(security), PROP_SECURITY)
-                       .addIf(ne(servers), PROP_SERVERS)
-                       .addIf(nn(summary), PROP_SUMMARY)
-                       .addIf(ne(tags), PROP_TAGS)
+                       .addIf(ne(callbacks), PROP_callbacks)
+                       .addIf(nn(deprecated), PROP_deprecated)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(externalDocs), PROP_externalDocs)
+                       .addIf(nn(operationId), PROP_operationId)
+                       .addIf(ne(parameters), PROP_parameters)
+                       .addIf(nn(requestBody), PROP_requestBody)
+                       .addIf(ne(responses), PROP_responses)
+                       .addIf(ne(security), PROP_security)
+                       .addIf(ne(servers), PROP_servers)
+                       .addIf(nn(summary), PROP_summary)
+                       .addIf(ne(tags), PROP_tags)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -509,18 +510,18 @@ public class Operation extends OpenApiElement {
        public Operation set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CALLBACKS -> setCallbacks(toMapBuilder(value, 
String.class, Callback.class).sparse().build());
-                       case PROP_DEPRECATED -> setDeprecated(toType(value, 
Boolean.class));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_EXTERNAL_DOCS -> 
setExternalDocs(toType(value, ExternalDocumentation.class));
-                       case PROP_OPERATION_ID -> setOperationId(s(value));
-                       case PROP_PARAMETERS -> 
setParameters(toListBuilder(value, Parameter.class).sparse().build());
-                       case PROP_REQUEST_BODY -> setRequestBody(toType(value, 
RequestBodyInfo.class));
-                       case PROP_RESPONSES -> setResponses(toMapBuilder(value, 
String.class, Response.class).sparse().build());
-                       case PROP_SECURITY -> setSecurity(toListBuilder(value, 
SecurityRequirement.class).sparse().build());
-                       case PROP_SERVERS -> setServers(toListBuilder(value, 
Server.class).sparse().build());
-                       case PROP_SUMMARY -> setSummary(s(value));
-                       case PROP_TAGS -> setTags(toListBuilder(value, 
String.class).sparse().build());
+                       case PROP_callbacks -> setCallbacks(toMapBuilder(value, 
String.class, Callback.class).sparse().build());
+                       case PROP_deprecated -> setDeprecated(toType(value, 
Boolean.class));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_externalDocs -> setExternalDocs(toType(value, 
ExternalDocumentation.class));
+                       case PROP_operationId -> setOperationId(s(value));
+                       case PROP_parameters -> 
setParameters(toListBuilder(value, Parameter.class).sparse().build());
+                       case PROP_requestBody -> setRequestBody(toType(value, 
RequestBodyInfo.class));
+                       case PROP_responses -> setResponses(toMapBuilder(value, 
String.class, Response.class).sparse().build());
+                       case PROP_security -> setSecurity(toListBuilder(value, 
SecurityRequirement.class).sparse().build());
+                       case PROP_servers -> setServers(toListBuilder(value, 
Server.class).sparse().build());
+                       case PROP_summary -> setSummary(s(value));
+                       case PROP_tags -> setTags(toListBuilder(value, 
String.class).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Parameter.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Parameter.java
index 99c0ccf2db..2f1eda3cf1 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Parameter.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Parameter.java
@@ -78,24 +78,25 @@ import org.apache.juneau.marshaller.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Parameter extends OpenApiElement {
 
        private static final String[] VALID_IN = { "query", "header", "path", 
"cookie" };
        private static final String[] VALID_STYLES = { "matrix", "label", 
"form", "simple", "spaceDelimited", "pipeDelimited", "deepObject" };
 
        // Property name constants
-       private static final String PROP_ALLOW_EMPTY_VALUE = "allowEmptyValue";
-       private static final String PROP_ALLOW_RESERVED = "allowReserved";
-       private static final String PROP_DEPRECATED = "deprecated";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_EXAMPLE = "example";
-       private static final String PROP_EXAMPLES = "examples";
-       private static final String PROP_EXPLODE = "explode";
-       private static final String PROP_IN = "in";
-       private static final String PROP_NAME = "name";
-       private static final String PROP_REQUIRED = "required";
-       private static final String PROP_SCHEMA = "schema";
-       private static final String PROP_STYLE = "style";
+       private static final String PROP_allowEmptyValue = "allowEmptyValue";
+       private static final String PROP_allowReserved = "allowReserved";
+       private static final String PROP_deprecated = "deprecated";
+       private static final String PROP_description = "description";
+       private static final String PROP_example = "example";
+       private static final String PROP_examples = "examples";
+       private static final String PROP_explode = "explode";
+       private static final String PROP_in = "in";
+       private static final String PROP_name = "name";
+       private static final String PROP_required = "required";
+       private static final String PROP_schema = "schema";
+       private static final String PROP_style = "style";
 
        private String name, in, description, style;
        private Boolean required, deprecated, allowEmptyValue, explode, 
allowReserved;
@@ -142,18 +143,18 @@ public class Parameter extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_NAME -> toType(getName(), type);
-                       case PROP_IN -> toType(getIn(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_REQUIRED -> toType(getRequired(), type);
-                       case PROP_DEPRECATED -> toType(getDeprecated(), type);
-                       case PROP_ALLOW_EMPTY_VALUE -> 
toType(getAllowEmptyValue(), type);
-                       case PROP_STYLE -> toType(getStyle(), type);
-                       case PROP_EXPLODE -> toType(getExplode(), type);
-                       case PROP_ALLOW_RESERVED -> toType(getAllowReserved(), 
type);
-                       case PROP_SCHEMA -> toType(getSchema(), type);
-                       case PROP_EXAMPLE -> toType(getExample(), type);
-                       case PROP_EXAMPLES -> toType(getExamples(), type);
+                       case PROP_name -> toType(getName(), type);
+                       case PROP_in -> toType(getIn(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_required -> toType(getRequired(), type);
+                       case PROP_deprecated -> toType(getDeprecated(), type);
+                       case PROP_allowEmptyValue -> 
toType(getAllowEmptyValue(), type);
+                       case PROP_style -> toType(getStyle(), type);
+                       case PROP_explode -> toType(getExplode(), type);
+                       case PROP_allowReserved -> toType(getAllowReserved(), 
type);
+                       case PROP_schema -> toType(getSchema(), type);
+                       case PROP_example -> toType(getExample(), type);
+                       case PROP_examples -> toType(getExamples(), type);
                        default -> super.get(property, type);
                };
        }
@@ -246,39 +247,39 @@ public class Parameter extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(allowEmptyValue), PROP_ALLOW_EMPTY_VALUE)
-                       .addIf(nn(allowReserved), PROP_ALLOW_RESERVED)
-                       .addIf(nn(deprecated), PROP_DEPRECATED)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(example), PROP_EXAMPLE)
-                       .addIf(nn(examples), PROP_EXAMPLES)
-                       .addIf(nn(explode), PROP_EXPLODE)
-                       .addIf(nn(in), PROP_IN)
-                       .addIf(nn(name), PROP_NAME)
-                       .addIf(nn(required), PROP_REQUIRED)
-                       .addIf(nn(schema), PROP_SCHEMA)
-                       .addIf(nn(style), PROP_STYLE)
+                       .addIf(nn(allowEmptyValue), PROP_allowEmptyValue)
+                       .addIf(nn(allowReserved), PROP_allowReserved)
+                       .addIf(nn(deprecated), PROP_deprecated)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(example), PROP_example)
+                       .addIf(nn(examples), PROP_examples)
+                       .addIf(nn(explode), PROP_explode)
+                       .addIf(nn(in), PROP_in)
+                       .addIf(nn(name), PROP_name)
+                       .addIf(nn(required), PROP_required)
+                       .addIf(nn(schema), PROP_schema)
+                       .addIf(nn(style), PROP_style)
                        .build();
                // @formatter:on
-               return new MultiSet<>(s, super.keySet());
+               return new MultiSet<String>(s, super.keySet());
        }
 
        @Override /* Overridden from OpenApiElement */
        public Parameter set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_ALLOW_EMPTY_VALUE -> 
setAllowEmptyValue(toType(value, Boolean.class));
-                       case PROP_ALLOW_RESERVED -> 
setAllowReserved(toType(value, Boolean.class));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_DEPRECATED -> setDeprecated(toType(value, 
Boolean.class));
-                       case PROP_EXAMPLE -> setExample(value);
-                       case PROP_EXAMPLES -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
-                       case PROP_EXPLODE -> setExplode(toType(value, 
Boolean.class));
-                       case PROP_IN -> setIn(s(value));
-                       case PROP_NAME -> setName(s(value));
-                       case PROP_REQUIRED -> setRequired(toType(value, 
Boolean.class));
-                       case PROP_SCHEMA -> setSchema(toType(value, 
SchemaInfo.class));
-                       case PROP_STYLE -> setStyle(s(value));
+                       case PROP_allowEmptyValue -> 
setAllowEmptyValue(toType(value, Boolean.class));
+                       case PROP_allowReserved -> 
setAllowReserved(toType(value, Boolean.class));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_deprecated -> setDeprecated(toType(value, 
Boolean.class));
+                       case PROP_example -> setExample(value);
+                       case PROP_examples -> setExamples(toMapBuilder(value, 
String.class, Example.class).sparse().build());
+                       case PROP_explode -> setExplode(toType(value, 
Boolean.class));
+                       case PROP_in -> setIn(s(value));
+                       case PROP_name -> setName(s(value));
+                       case PROP_required -> setRequired(toType(value, 
Boolean.class));
+                       case PROP_schema -> setSchema(toType(value, 
SchemaInfo.class));
+                       case PROP_style -> setStyle(s(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/PathItem.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/PathItem.java
index b408c5fa25..ef17a80b27 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/PathItem.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/PathItem.java
@@ -80,21 +80,22 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class PathItem extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_DELETE = "delete";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_GET = "get";
-       private static final String PROP_HEAD = "head";
-       private static final String PROP_OPTIONS = "options";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_PATCH = "patch";
-       private static final String PROP_POST = "post";
-       private static final String PROP_PUT = "put";
-       private static final String PROP_SERVERS = "servers";
-       private static final String PROP_SUMMARY = "summary";
-       private static final String PROP_TRACE = "trace";
+       private static final String PROP_delete = "delete";
+       private static final String PROP_description = "description";
+       private static final String PROP_get = "get";
+       private static final String PROP_head = "head";
+       private static final String PROP_options = "options";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_patch = "patch";
+       private static final String PROP_post = "post";
+       private static final String PROP_put = "put";
+       private static final String PROP_servers = "servers";
+       private static final String PROP_summary = "summary";
+       private static final String PROP_trace = "trace";
 
        private String summary, description;
        private Operation get, put, post, delete, options, head, patch, trace;
@@ -140,18 +141,18 @@ public class PathItem extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_SUMMARY -> toType(getSummary(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_GET -> toType(getGet(), type);
-                       case PROP_PUT -> toType(getPut(), type);
-                       case PROP_POST -> toType(getPost(), type);
-                       case PROP_DELETE -> toType(getDelete(), type);
-                       case PROP_OPTIONS -> toType(getOptions(), type);
-                       case PROP_HEAD -> toType(getHead(), type);
-                       case PROP_PATCH -> toType(getPatch(), type);
-                       case PROP_TRACE -> toType(getTrace(), type);
-                       case PROP_SERVERS -> toType(getServers(), type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
+                       case PROP_summary -> toType(getSummary(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_get -> toType(getGet(), type);
+                       case PROP_put -> toType(getPut(), type);
+                       case PROP_post -> toType(getPost(), type);
+                       case PROP_delete -> toType(getDelete(), type);
+                       case PROP_options -> toType(getOptions(), type);
+                       case PROP_head -> toType(getHead(), type);
+                       case PROP_patch -> toType(getPatch(), type);
+                       case PROP_trace -> toType(getTrace(), type);
+                       case PROP_servers -> toType(getServers(), type);
+                       case PROP_parameters -> toType(getParameters(), type);
                        default -> super.get(property, type);
                };
        }
@@ -244,18 +245,18 @@ public class PathItem extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(delete), PROP_DELETE)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(get), PROP_GET)
-                       .addIf(nn(head), PROP_HEAD)
-                       .addIf(nn(options), PROP_OPTIONS)
-                       .addIf(nn(parameters), PROP_PARAMETERS)
-                       .addIf(nn(patch), PROP_PATCH)
-                       .addIf(nn(post), PROP_POST)
-                       .addIf(nn(put), PROP_PUT)
-                       .addIf(nn(servers), PROP_SERVERS)
-                       .addIf(nn(summary), PROP_SUMMARY)
-                       .addIf(nn(trace), PROP_TRACE)
+                       .addIf(nn(delete), PROP_delete)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(get), PROP_get)
+                       .addIf(nn(head), PROP_head)
+                       .addIf(nn(options), PROP_options)
+                       .addIf(nn(parameters), PROP_parameters)
+                       .addIf(nn(patch), PROP_patch)
+                       .addIf(nn(post), PROP_post)
+                       .addIf(nn(put), PROP_put)
+                       .addIf(nn(servers), PROP_servers)
+                       .addIf(nn(summary), PROP_summary)
+                       .addIf(nn(trace), PROP_trace)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -265,18 +266,18 @@ public class PathItem extends OpenApiElement {
        public PathItem set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_DELETE -> setDelete(toType(value, 
Operation.class));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_GET -> setGet(toType(value, Operation.class));
-                       case PROP_HEAD -> setHead(toType(value, 
Operation.class));
-                       case PROP_OPTIONS -> setOptions(toType(value, 
Operation.class));
-                       case PROP_PATCH -> setPatch(toType(value, 
Operation.class));
-                       case PROP_PARAMETERS -> 
setParameters(listb(Parameter.class).addAny(value).sparse().build());
-                       case PROP_POST -> setPost(toType(value, 
Operation.class));
-                       case PROP_PUT -> setPut(toType(value, Operation.class));
-                       case PROP_SERVERS -> 
setServers(listb(Server.class).addAny(value).sparse().build());
-                       case PROP_SUMMARY -> setSummary(s(value));
-                       case PROP_TRACE -> setTrace(toType(value, 
Operation.class));
+                       case PROP_delete -> setDelete(toType(value, 
Operation.class));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_get -> setGet(toType(value, Operation.class));
+                       case PROP_head -> setHead(toType(value, 
Operation.class));
+                       case PROP_options -> setOptions(toType(value, 
Operation.class));
+                       case PROP_patch -> setPatch(toType(value, 
Operation.class));
+                       case PROP_parameters -> 
setParameters(listb(Parameter.class).addAny(value).sparse().build());
+                       case PROP_post -> setPost(toType(value, 
Operation.class));
+                       case PROP_put -> setPut(toType(value, Operation.class));
+                       case PROP_servers -> 
setServers(listb(Server.class).addAny(value).sparse().build());
+                       case PROP_summary -> setSummary(s(value));
+                       case PROP_trace -> setTrace(toType(value, 
Operation.class));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/RequestBodyInfo.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/RequestBodyInfo.java
index af795da448..7760a12367 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/RequestBodyInfo.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/RequestBodyInfo.java
@@ -65,12 +65,13 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class RequestBodyInfo extends OpenApiElement {
 
        // Property name constants
-       private static final String PROP_CONTENT = "content";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_REQUIRED = "required";
+       private static final String PROP_content = "content";
+       private static final String PROP_description = "description";
+       private static final String PROP_required = "required";
 
        private String description;
        private Map<String,MediaType> content = map();
@@ -125,9 +126,9 @@ public class RequestBodyInfo extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_CONTENT -> toType(getContent(), type);
-                       case PROP_REQUIRED -> toType(getRequired(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_content -> toType(getContent(), type);
+                       case PROP_required -> toType(getRequired(), type);
                        default -> super.get(property, type);
                };
        }
@@ -163,9 +164,9 @@ public class RequestBodyInfo extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(ne(content), PROP_CONTENT)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(required), PROP_REQUIRED)
+                       .addIf(ne(content), PROP_content)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(required), PROP_required)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -175,9 +176,9 @@ public class RequestBodyInfo extends OpenApiElement {
        public RequestBodyInfo set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CONTENT -> setContent(toMapBuilder(value, 
String.class, MediaType.class).sparse().build());
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_REQUIRED -> setRequired(toBoolean(value));
+                       case PROP_content -> setContent(toMapBuilder(value, 
String.class, MediaType.class).sparse().build());
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_required -> setRequired(toBoolean(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecuritySchemeInfo.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecuritySchemeInfo.java
index e9e9bd857c..4c76eb348d 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecuritySchemeInfo.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecuritySchemeInfo.java
@@ -85,20 +85,21 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanOpenApi3";>juneau-bean-openapi-v3</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class SecuritySchemeInfo extends OpenApiElement {
 
        private static final String[] VALID_IN = { "query", "header", "cookie" 
};
        private static final String[] VALID_TYPES = { "apiKey", "http", 
"oauth2", "openIdConnect" };
 
        // Property name constants
-       private static final String PROP_BEARER_FORMAT = "bearerFormat";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_FLOWS = "flows";
-       private static final String PROP_IN = "in";
-       private static final String PROP_NAME = "name";
-       private static final String PROP_OPEN_ID_CONNECT_URL = 
"openIdConnectUrl";
-       private static final String PROP_SCHEME = "scheme";
-       private static final String PROP_TYPE = "type";
+       private static final String PROP_bearerFormat = "bearerFormat";
+       private static final String PROP_description = "description";
+       private static final String PROP_flows = "flows";
+       private static final String PROP_in = "in";
+       private static final String PROP_name = "name";
+       private static final String PROP_openIdConnectUrl = "openIdConnectUrl";
+       private static final String PROP_scheme = "scheme";
+       private static final String PROP_type = "type";
 
        private String type, description, name, in, scheme, bearerFormat, 
openIdConnectUrl;
 
@@ -140,14 +141,14 @@ public class SecuritySchemeInfo extends OpenApiElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_NAME -> toType(getName(), type);
-                       case PROP_IN -> toType(getIn(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_SCHEME -> toType(getScheme(), type);
-                       case PROP_FLOWS -> toType(getFlows(), type);
-                       case PROP_BEARER_FORMAT -> toType(getBearerFormat(), 
type);
-                       case PROP_OPEN_ID_CONNECT_URL -> 
toType(getOpenIdConnectUrl(), type);
-                       case PROP_TYPE -> toType(getType(), type);
+                       case PROP_name -> toType(getName(), type);
+                       case PROP_in -> toType(getIn(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_scheme -> toType(getScheme(), type);
+                       case PROP_flows -> toType(getFlows(), type);
+                       case PROP_bearerFormat -> toType(getBearerFormat(), 
type);
+                       case PROP_openIdConnectUrl -> 
toType(getOpenIdConnectUrl(), type);
+                       case PROP_type -> toType(getType(), type);
                        default -> super.get(property, type);
                };
        }
@@ -248,14 +249,14 @@ public class SecuritySchemeInfo extends OpenApiElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(bearerFormat), PROP_BEARER_FORMAT)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(flows), PROP_FLOWS)
-                       .addIf(nn(in), PROP_IN)
-                       .addIf(nn(name), PROP_NAME)
-                       .addIf(nn(openIdConnectUrl), PROP_OPEN_ID_CONNECT_URL)
-                       .addIf(nn(scheme), PROP_SCHEME)
-                       .addIf(nn(type), PROP_TYPE)
+                       .addIf(nn(bearerFormat), PROP_bearerFormat)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(flows), PROP_flows)
+                       .addIf(nn(in), PROP_in)
+                       .addIf(nn(name), PROP_name)
+                       .addIf(nn(openIdConnectUrl), PROP_openIdConnectUrl)
+                       .addIf(nn(scheme), PROP_scheme)
+                       .addIf(nn(type), PROP_type)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -265,14 +266,14 @@ public class SecuritySchemeInfo extends OpenApiElement {
        public SecuritySchemeInfo set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_BEARER_FORMAT -> setBearerFormat(s(value));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_FLOWS -> setFlows(toType(value, 
OAuthFlow.class));
-                       case PROP_IN -> setIn(s(value));
-                       case PROP_NAME -> setName(s(value));
-                       case PROP_OPEN_ID_CONNECT_URL -> 
setOpenIdConnectUrl(s(value));
-                       case PROP_SCHEME -> setScheme(s(value));
-                       case PROP_TYPE -> setType(s(value));
+                       case PROP_bearerFormat -> setBearerFormat(s(value));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_flows -> setFlows(toType(value, 
OAuthFlow.class));
+                       case PROP_in -> setIn(s(value));
+                       case PROP_name -> setName(s(value));
+                       case PROP_openIdConnectUrl -> 
setOpenIdConnectUrl(s(value));
+                       case PROP_scheme -> setScheme(s(value));
+                       case PROP_type -> setType(s(value));
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
index 5a835916e8..20739545be 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
@@ -156,23 +156,24 @@ import org.apache.juneau.commons.collections.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanSwagger2";>juneau-bean-swagger-v2</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Operation extends SwaggerElement {
 
        private interface MapStringList extends Map<String,List<String>> {}
 
        // Property name constants
-       private static final String PROP_CONSUMES = "consumes";
-       private static final String PROP_DEPRECATED = "deprecated";
-       private static final String PROP_DESCRIPTION = "description";
-       private static final String PROP_EXTERNAL_DOCS = "externalDocs";
-       private static final String PROP_OPERATION_ID = "operationId";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_PRODUCES = "produces";
-       private static final String PROP_RESPONSES = "responses";
-       private static final String PROP_SCHEMES = "schemes";
-       private static final String PROP_SECURITY = "security";
-       private static final String PROP_SUMMARY = "summary";
-       private static final String PROP_TAGS = "tags";
+       private static final String PROP_consumes = "consumes";
+       private static final String PROP_deprecated = "deprecated";
+       private static final String PROP_description = "description";
+       private static final String PROP_externalDocs = "externalDocs";
+       private static final String PROP_operationId = "operationId";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_produces = "produces";
+       private static final String PROP_responses = "responses";
+       private static final String PROP_schemes = "schemes";
+       private static final String PROP_security = "security";
+       private static final String PROP_summary = "summary";
+       private static final String PROP_tags = "tags";
 
        private String summary, description, operationId;
        private Boolean deprecated;
@@ -465,18 +466,18 @@ public class Operation extends SwaggerElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CONSUMES -> toType(getConsumes(), type);
-                       case PROP_DEPRECATED -> toType(getDeprecated(), type);
-                       case PROP_DESCRIPTION -> toType(getDescription(), type);
-                       case PROP_EXTERNAL_DOCS -> toType(getExternalDocs(), 
type);
-                       case PROP_OPERATION_ID -> toType(getOperationId(), 
type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
-                       case PROP_PRODUCES -> toType(getProduces(), type);
-                       case PROP_RESPONSES -> toType(getResponses(), type);
-                       case PROP_SCHEMES -> toType(getSchemes(), type);
-                       case PROP_SECURITY -> toType(getSecurity(), type);
-                       case PROP_SUMMARY -> toType(getSummary(), type);
-                       case PROP_TAGS -> toType(getTags(), type);
+                       case PROP_consumes -> toType(getConsumes(), type);
+                       case PROP_deprecated -> toType(getDeprecated(), type);
+                       case PROP_description -> toType(getDescription(), type);
+                       case PROP_externalDocs -> toType(getExternalDocs(), 
type);
+                       case PROP_operationId -> toType(getOperationId(), type);
+                       case PROP_parameters -> toType(getParameters(), type);
+                       case PROP_produces -> toType(getProduces(), type);
+                       case PROP_responses -> toType(getResponses(), type);
+                       case PROP_schemes -> toType(getSchemes(), type);
+                       case PROP_security -> toType(getSecurity(), type);
+                       case PROP_summary -> toType(getSummary(), type);
+                       case PROP_tags -> toType(getTags(), type);
                        default -> super.get(property, type);
                };
        }
@@ -668,18 +669,18 @@ public class Operation extends SwaggerElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(ne(consumes), PROP_CONSUMES)
-                       .addIf(nn(deprecated), PROP_DEPRECATED)
-                       .addIf(nn(description), PROP_DESCRIPTION)
-                       .addIf(nn(externalDocs), PROP_EXTERNAL_DOCS)
-                       .addIf(nn(operationId), PROP_OPERATION_ID)
-                       .addIf(ne(parameters), PROP_PARAMETERS)
-                       .addIf(ne(produces), PROP_PRODUCES)
-                       .addIf(ne(responses), PROP_RESPONSES)
-                       .addIf(ne(schemes), PROP_SCHEMES)
-                       .addIf(ne(security), PROP_SECURITY)
-                       .addIf(nn(summary), PROP_SUMMARY)
-                       .addIf(ne(tags), PROP_TAGS)
+                       .addIf(ne(consumes), PROP_consumes)
+                       .addIf(nn(deprecated), PROP_deprecated)
+                       .addIf(nn(description), PROP_description)
+                       .addIf(nn(externalDocs), PROP_externalDocs)
+                       .addIf(nn(operationId), PROP_operationId)
+                       .addIf(ne(parameters), PROP_parameters)
+                       .addIf(ne(produces), PROP_produces)
+                       .addIf(ne(responses), PROP_responses)
+                       .addIf(ne(schemes), PROP_schemes)
+                       .addIf(ne(security), PROP_security)
+                       .addIf(nn(summary), PROP_summary)
+                       .addIf(ne(tags), PROP_tags)
                        .build();
                // @formatter:on
                return new MultiSet<>(s, super.keySet());
@@ -690,18 +691,18 @@ public class Operation extends SwaggerElement {
        public Operation set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_CONSUMES -> setConsumes(toListBuilder(value, 
MediaType.class).sparse().build());
-                       case PROP_DEPRECATED -> setDeprecated(toBoolean(value));
-                       case PROP_DESCRIPTION -> setDescription(s(value));
-                       case PROP_EXTERNAL_DOCS -> 
setExternalDocs(toType(value, ExternalDocumentation.class));
-                       case PROP_OPERATION_ID -> setOperationId(s(value));
-                       case PROP_PARAMETERS -> 
setParameters(toListBuilder(value, ParameterInfo.class).sparse().build());
-                       case PROP_PRODUCES -> setProduces(toListBuilder(value, 
MediaType.class).sparse().build());
-                       case PROP_RESPONSES -> setResponses(toMapBuilder(value, 
String.class, ResponseInfo.class).sparse().build());
-                       case PROP_SCHEMES -> setSchemes(toListBuilder(value, 
String.class).sparse().addAny(value).build());
-                       case PROP_SECURITY -> 
setSecurity((List)toListBuilder(value, MapStringList.class).sparse().build());
-                       case PROP_SUMMARY -> setSummary(s(value));
-                       case PROP_TAGS -> setTags(toListBuilder(value, 
String.class).sparse().build());
+                       case PROP_consumes -> setConsumes(toListBuilder(value, 
MediaType.class).sparse().build());
+                       case PROP_deprecated -> setDeprecated(toBoolean(value));
+                       case PROP_description -> setDescription(s(value));
+                       case PROP_externalDocs -> setExternalDocs(toType(value, 
ExternalDocumentation.class));
+                       case PROP_operationId -> setOperationId(s(value));
+                       case PROP_parameters -> 
setParameters(toListBuilder(value, ParameterInfo.class).sparse().build());
+                       case PROP_produces -> setProduces(toListBuilder(value, 
MediaType.class).sparse().build());
+                       case PROP_responses -> setResponses(toMapBuilder(value, 
String.class, ResponseInfo.class).sparse().build());
+                       case PROP_schemes -> setSchemes(toListBuilder(value, 
String.class).sparse().addAny(value).build());
+                       case PROP_security -> 
setSecurity((List)toListBuilder(value, MapStringList.class).sparse().build());
+                       case PROP_summary -> setSummary(s(value));
+                       case PROP_tags -> setTags(toListBuilder(value, 
String.class).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
index 2cbe145686..4096fb579b 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
@@ -85,6 +85,7 @@ import org.apache.juneau.objecttools.*;
  *     <li class='link'><a class="doclink" 
href="https://juneau.apache.org/docs/topics/JuneauBeanSwagger2";>juneau-bean-swagger-v2</a>
  * </ul>
  */
+@SuppressWarnings("java:S115")
 public class Swagger extends SwaggerElement {
 
        private static interface MapOfStringLists extends 
Map<String,List<String>> {}
@@ -95,21 +96,21 @@ public class Swagger extends SwaggerElement {
        private static final Comparator<String> PATH_COMPARATOR = (o1, o2) -> 
o1.replace('{', '@').compareTo(o2.replace('{', '@'));
 
        // Property name constants
-       private static final String PROP_BASE_PATH = "basePath";
-       private static final String PROP_CONSUMES = "consumes";
-       private static final String PROP_DEFINITIONS = "definitions";
-       private static final String PROP_EXTERNAL_DOCS = "externalDocs";
-       private static final String PROP_HOST = "host";
-       private static final String PROP_INFO = "info";
-       private static final String PROP_PARAMETERS = "parameters";
-       private static final String PROP_PATHS = "paths";
-       private static final String PROP_PRODUCES = "produces";
-       private static final String PROP_RESPONSES = "responses";
-       private static final String PROP_SCHEMES = "schemes";
-       private static final String PROP_SECURITY = "security";
-       private static final String PROP_SECURITY_DEFINITIONS = 
"securityDefinitions";
-       private static final String PROP_SWAGGER = "swagger";
-       private static final String PROP_TAGS = "tags";
+       private static final String PROP_basePath = "basePath";
+       private static final String PROP_consumes = "consumes";
+       private static final String PROP_definitions = "definitions";
+       private static final String PROP_externalDocs = "externalDocs";
+       private static final String PROP_host = "host";
+       private static final String PROP_info = "info";
+       private static final String PROP_parameters = "parameters";
+       private static final String PROP_paths = "paths";
+       private static final String PROP_produces = "produces";
+       private static final String PROP_responses = "responses";
+       private static final String PROP_schemes = "schemes";
+       private static final String PROP_security = "security";
+       private static final String PROP_securityDefinitions = 
"securityDefinitions";
+       private static final String PROP_swagger = "swagger";
+       private static final String PROP_tags = "tags";
 
        private String swagger = "2.0",  // NOSONAR - Intentional naming.
                host, basePath;
@@ -513,21 +514,21 @@ public class Swagger extends SwaggerElement {
        public <T> T get(String property, Class<T> type) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_BASE_PATH -> toType(getBasePath(), type);
-                       case PROP_CONSUMES -> toType(getConsumes(), type);
-                       case PROP_DEFINITIONS -> toType(getDefinitions(), type);
-                       case PROP_EXTERNAL_DOCS -> toType(getExternalDocs(), 
type);
-                       case PROP_HOST -> toType(getHost(), type);
-                       case PROP_INFO -> toType(getInfo(), type);
-                       case PROP_PARAMETERS -> toType(getParameters(), type);
-                       case PROP_PATHS -> toType(getPaths(), type);
-                       case PROP_PRODUCES -> toType(getProduces(), type);
-                       case PROP_RESPONSES -> toType(getResponses(), type);
-                       case PROP_SCHEMES -> toType(getSchemes(), type);
-                       case PROP_SECURITY -> toType(getSecurity(), type);
-                       case PROP_SECURITY_DEFINITIONS -> 
toType(getSecurityDefinitions(), type);
-                       case PROP_SWAGGER -> toType(getSwagger(), type);
-                       case PROP_TAGS -> toType(getTags(), type);
+                       case PROP_basePath -> toType(getBasePath(), type);
+                       case PROP_consumes -> toType(getConsumes(), type);
+                       case PROP_definitions -> toType(getDefinitions(), type);
+                       case PROP_externalDocs -> toType(getExternalDocs(), 
type);
+                       case PROP_host -> toType(getHost(), type);
+                       case PROP_info -> toType(getInfo(), type);
+                       case PROP_parameters -> toType(getParameters(), type);
+                       case PROP_paths -> toType(getPaths(), type);
+                       case PROP_produces -> toType(getProduces(), type);
+                       case PROP_responses -> toType(getResponses(), type);
+                       case PROP_schemes -> toType(getSchemes(), type);
+                       case PROP_security -> toType(getSecurity(), type);
+                       case PROP_securityDefinitions -> 
toType(getSecurityDefinitions(), type);
+                       case PROP_swagger -> toType(getSwagger(), type);
+                       case PROP_tags -> toType(getTags(), type);
                        default -> super.get(property, type);
                };
        }
@@ -753,24 +754,24 @@ public class Swagger extends SwaggerElement {
        public Set<String> keySet() {
                // @formatter:off
                var s = setb(String.class)
-                       .addIf(nn(basePath), PROP_BASE_PATH)
-                       .addIf(ne(consumes), PROP_CONSUMES)
-                       .addIf(ne(definitions), PROP_DEFINITIONS)
-                       .addIf(nn(externalDocs), PROP_EXTERNAL_DOCS)
-                       .addIf(nn(host), PROP_HOST)
-                       .addIf(nn(info), PROP_INFO)
-                       .addIf(ne(parameters), PROP_PARAMETERS)
-                       .addIf(ne(paths), PROP_PATHS)
-                       .addIf(ne(produces), PROP_PRODUCES)
-                       .addIf(ne(responses), PROP_RESPONSES)
-                       .addIf(ne(schemes), PROP_SCHEMES)
-                       .addIf(ne(security), PROP_SECURITY)
-                       .addIf(ne(securityDefinitions), 
PROP_SECURITY_DEFINITIONS)
-                       .addIf(nn(swagger), PROP_SWAGGER)
-                       .addIf(ne(tags), PROP_TAGS)
+                       .addIf(nn(basePath), PROP_basePath)
+                       .addIf(ne(consumes), PROP_consumes)
+                       .addIf(ne(definitions), PROP_definitions)
+                       .addIf(nn(externalDocs), PROP_externalDocs)
+                       .addIf(nn(host), PROP_host)
+                       .addIf(nn(info), PROP_info)
+                       .addIf(ne(parameters), PROP_parameters)
+                       .addIf(ne(paths), PROP_paths)
+                       .addIf(ne(produces), PROP_produces)
+                       .addIf(ne(responses), PROP_responses)
+                       .addIf(ne(schemes), PROP_schemes)
+                       .addIf(ne(security), PROP_security)
+                       .addIf(ne(securityDefinitions), 
PROP_securityDefinitions)
+                       .addIf(nn(swagger), PROP_swagger)
+                       .addIf(ne(tags), PROP_tags)
                        .build();
                // @formatter:on
-               return new MultiSet<>(s, super.keySet());
+               return new MultiSet<String>(s, super.keySet());
        }
 
        @SuppressWarnings({ "rawtypes", "unchecked" })
@@ -778,21 +779,21 @@ public class Swagger extends SwaggerElement {
        public Swagger set(String property, Object value) {
                assertArgNotNull("property", property);
                return switch (property) {
-                       case PROP_BASE_PATH -> setBasePath(s(value));
-                       case PROP_CONSUMES -> setConsumes(toListBuilder(value, 
MediaType.class).sparse().build());
-                       case PROP_DEFINITIONS -> 
setDefinitions(toMapBuilder(value, String.class, 
JsonMap.class).sparse().build());
-                       case PROP_EXTERNAL_DOCS -> 
setExternalDocs(toType(value, ExternalDocumentation.class));
-                       case PROP_HOST -> setHost(s(value));
-                       case PROP_INFO -> setInfo(toType(value, Info.class));
-                       case PROP_PARAMETERS -> 
setParameters(toMapBuilder(value, String.class, 
ParameterInfo.class).sparse().build());
-                       case PROP_PATHS -> setPaths(toMapBuilder(value, 
String.class, OperationMap.class).sparse().build());
-                       case PROP_PRODUCES -> setProduces(toListBuilder(value, 
MediaType.class).sparse().build());
-                       case PROP_RESPONSES -> setResponses(toMapBuilder(value, 
String.class, ResponseInfo.class).sparse().build());
-                       case PROP_SCHEMES -> setSchemes(toListBuilder(value, 
String.class).sparse().build());
-                       case PROP_SECURITY -> 
setSecurity((List)toListBuilder(value, 
MapOfStringLists.class).sparse().build());
-                       case PROP_SECURITY_DEFINITIONS -> 
setSecurityDefinitions(toMapBuilder(value, String.class, 
SecurityScheme.class).sparse().build());
-                       case PROP_SWAGGER -> setSwagger(s(value));
-                       case PROP_TAGS -> setTags(toListBuilder(value, 
Tag.class).sparse().build());
+                       case PROP_basePath -> setBasePath(s(value));
+                       case PROP_consumes -> setConsumes(toListBuilder(value, 
MediaType.class).sparse().build());
+                       case PROP_definitions -> 
setDefinitions(toMapBuilder(value, String.class, 
JsonMap.class).sparse().build());
+                       case PROP_externalDocs -> setExternalDocs(toType(value, 
ExternalDocumentation.class));
+                       case PROP_host -> setHost(s(value));
+                       case PROP_info -> setInfo(toType(value, Info.class));
+                       case PROP_parameters -> 
setParameters(toMapBuilder(value, String.class, 
ParameterInfo.class).sparse().build());
+                       case PROP_paths -> setPaths(toMapBuilder(value, 
String.class, OperationMap.class).sparse().build());
+                       case PROP_produces -> setProduces(toListBuilder(value, 
MediaType.class).sparse().build());
+                       case PROP_responses -> setResponses(toMapBuilder(value, 
String.class, ResponseInfo.class).sparse().build());
+                       case PROP_schemes -> setSchemes(toListBuilder(value, 
String.class).sparse().build());
+                       case PROP_security -> 
setSecurity((List)toListBuilder(value, 
MapOfStringLists.class).sparse().build());
+                       case PROP_securityDefinitions -> 
setSecurityDefinitions(toMapBuilder(value, String.class, 
SecurityScheme.class).sparse().build());
+                       case PROP_swagger -> setSwagger(s(value));
+                       case PROP_tags -> setTags(toListBuilder(value, 
Tag.class).sparse().build());
                        default -> {
                                super.set(property, value);
                                yield this;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
index 241a4e7223..11e23a4688 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/uon/Common_UonTest.java
@@ -230,8 +230,23 @@ class Common_UonTest extends TestBase {
                r2.r3 = r3;
                r3.r1 = r1;
 
-               // No recursion detection
-               assertThrowsWithMessage(Exception.class, "It's recommended you 
use the BeanTraverseContext.BEANTRAVERSE_detectRecursions setting to help 
locate the loop.", ()->s.build().serialize(r1));
+               // No recursion detection - DEBUG: Check what exception is 
thrown
+               assertThrowsWithMessage(Exception.class, "It's recommended you 
use the BeanTraverseContext.BEANTRAVERSE_detectRecursions setting to help 
locate the loop.", ()->{
+                       try {
+                               s.build().serialize(r1);
+                       } catch (Throwable t) {
+                               System.out.println("DEBUG: Exception type: " + 
t.getClass().getName());
+                               System.out.println("DEBUG: Exception class: " + 
t.getClass());
+                               System.out.println("DEBUG: Is 
StackOverflowError? " + (t instanceof StackOverflowError));
+                               System.out.println("DEBUG: Is 
SerializeException? " + (t instanceof 
org.apache.juneau.serializer.SerializeException));
+                               System.out.println("DEBUG: Stack trace (without 
message):");
+                               for (StackTraceElement ste : t.getStackTrace()) 
{
+                                       System.out.println("  " + ste);
+                               }
+                               // Re-throw to let assertThrowsWithMessage 
handle it
+                               throw t;
+                       }
+               });
 
                // Recursion detection, no ignore
                s.detectRecursions();


Reply via email to