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 0f2f089b44 SonarQube bug fixes
0f2f089b44 is described below

commit 0f2f089b44d2d0f64f4eaec089a5a2c5c034fbb0
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 4 18:05:16 2026 -0500

    SonarQube bug fixes
---
 .../apache/juneau/bean/jsonschema/JsonType.java    |  1 +
 .../apache/juneau/bean/openapi3/ui/OpenApiUI.java  |  2 +
 .../apache/juneau/bean/swagger/ParameterInfo.java  |  1 +
 .../apache/juneau/bean/swagger/ui/SwaggerUI.java   |  1 +
 .../annotation/AppliedAnnotationObject.java        | 28 ++++++-------
 .../apache/juneau/commons/collections/Maps.java    |  1 +
 .../juneau/commons/collections/MultiList.java      |  2 +
 .../juneau/commons/collections/MultiMap.java       |  1 +
 .../juneau/commons/collections/MultiSet.java       |  1 +
 .../apache/juneau/commons/logging/LogRecord.java   |  1 +
 .../juneau/commons/reflect/AnnotationInfo.java     | 46 ++++++++++------------
 .../juneau/commons/reflect/AnnotationProvider.java |  3 +-
 .../juneau/commons/reflect/TypeVariables.java      |  2 +
 .../juneau/commons/time/GranularZonedDateTime.java |  2 +-
 .../juneau/commons/utils/AssertionUtils.java       |  2 +
 .../juneau/commons/utils/CollectionUtils.java      | 14 +++++++
 .../org/apache/juneau/commons/utils/FileUtils.java |  4 +-
 .../apache/juneau/commons/utils/StringUtils.java   |  2 +
 .../main/java/org/apache/juneau/config/Entry.java  |  2 +-
 .../apache/juneau/config/internal/ConfigMap.java   |  1 +
 .../juneau/config/internal/ConfigMapEntry.java     |  1 +
 .../main/java/org/apache/juneau/BeanContext.java   |  4 +-
 .../java/org/apache/juneau/BeanContextable.java    |  4 +-
 .../main/java/org/apache/juneau/BeanFilter.java    |  2 +-
 .../src/main/java/org/apache/juneau/BeanMap.java   |  1 +
 .../apache/juneau/BeanProxyInvocationHandler.java  |  1 +
 .../main/java/org/apache/juneau/BeanRegistry.java  |  1 +
 .../src/main/java/org/apache/juneau/ClassMeta.java |  5 ++-
 .../java/org/apache/juneau/PropertyNamerDUCS.java  |  1 +
 .../main/java/org/apache/juneau/UriResolver.java   |  1 +
 .../java/org/apache/juneau/cp/BasicFileFinder.java |  2 +-
 .../apache/juneau/html/BasicHtmlDocTemplate.java   |  9 ++---
 .../apache/juneau/html/HtmlSerializerSession.java  |  2 +-
 .../main/java/org/apache/juneau/html/HtmlTag.java  |  1 +
 .../java/org/apache/juneau/html/HtmlWriter.java    |  1 +
 .../java/org/apache/juneau/json/JsonWriter.java    |  2 +
 .../apache/juneau/msgpack/MsgPackInputStream.java  |  1 +
 .../juneau/objecttools/NumberMatcherFactory.java   |  1 +
 .../apache/juneau/objecttools/ObjectMerger.java    |  1 +
 .../org/apache/juneau/objecttools/ObjectRest.java  |  2 +
 .../apache/juneau/objecttools/ObjectSearcher.java  |  2 +
 .../juneau/objecttools/StringMatcherFactory.java   |  1 +
 .../juneau/objecttools/TimeMatcherFactory.java     |  1 +
 .../java/org/apache/juneau/parser/ParserPipe.java  |  1 +
 .../org/apache/juneau/parser/ParserReader.java     |  1 +
 .../java/org/apache/juneau/reflect/Mutaters.java   |  2 +-
 .../java/org/apache/juneau/svl/VarResolver.java    |  2 +-
 .../org/apache/juneau/svl/VarResolverSession.java  |  6 ++-
 .../juneau/swaps/DefaultingTemporalAccessor.java   |  2 +-
 .../main/java/org/apache/juneau/uon/UonWriter.java |  1 +
 .../java/org/apache/juneau/utils/BeanDiff.java     |  2 +-
 .../juneau/utils/StringExpressionMatcher.java      |  1 +
 .../java/org/apache/juneau/xml/XmlBeanMeta.java    |  2 +
 .../org/apache/juneau/xml/XmlBeanPropertyMeta.java |  1 +
 .../apache/juneau/xml/XmlSerializerSession.java    |  2 +-
 .../main/java/org/apache/juneau/xml/XmlUtils.java  |  5 +++
 .../juneau/microservice/console/ConfigCommand.java |  1 +
 .../microservice/resources/LogsResource.java       |  2 +-
 .../org/apache/juneau/rest/client/RestClient.java  |  2 +-
 .../org/apache/juneau/rest/client/RestRequest.java |  2 +-
 .../java/org/apache/juneau/http/HttpMethod.java    |  2 +-
 .../java/org/apache/juneau/http/HttpParts.java     |  4 +-
 .../apache/juneau/http/header/BasicCsvHeader.java  |  2 +
 .../apache/juneau/rest/common/utils/HttpUtils.java |  2 +
 .../apache/juneau/rest/mock/MockRestClient.java    |  2 +-
 .../juneau/rest/mock/MockServletRequest.java       |  2 +
 .../java/org/apache/juneau/rest/RestContext.java   |  2 +-
 .../java/org/apache/juneau/rest/RestOpContext.java |  2 +-
 .../java/org/apache/juneau/rest/RestOpSession.java |  2 +-
 .../apache/juneau/rest/arg/RestRequestArgs.java    |  1 +
 .../org/apache/juneau/rest/guard/RoleMatcher.java  |  2 +-
 .../juneau/rest/httppart/RequestAttributes.java    |  2 +-
 .../rest/processor/ResponseBeanProcessor.java      |  2 +-
 .../rest/processor/SerializedPojoProcessor.java    |  1 +
 .../rest/swagger/BasicSwaggerProviderSession.java  | 16 ++++----
 .../apache/juneau/rest/util/UrlPathMatcher.java    |  2 +-
 .../org/apache/juneau/rest/vars/RequestVar.java    |  1 +
 .../apache/juneau/rest/widget/MenuItemWidget.java  |  1 +
 sonar-project.properties                           |  5 ++-
 79 files changed, 162 insertions(+), 90 deletions(-)

diff --git 
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonType.java
 
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonType.java
index 949a5b5048..6904e72c31 100644
--- 
a/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonType.java
+++ 
b/juneau-bean/juneau-bean-jsonschema/src/main/java/org/apache/juneau/bean/jsonschema/JsonType.java
@@ -62,6 +62,7 @@ public enum JsonType {
         * @param value The lowercase form of the enum (e.g. <js>"array"</js>).
         * @return The matching <c>Enum</c>, or <jk>null</jk> if no match found.
         */
+       @SuppressWarnings("java:S3776")
        public static JsonType fromString(String value) {
                if (value == null || value.length() < 4)
                        return null;
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
index 4f98ef2451..dab1887863 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/ui/OpenApiUI.java
@@ -142,6 +142,7 @@ public class OpenApiUI extends ObjectSwap<OpenApi,Div> {
        }
 
        // Creates the informational summary before the ops.
+       @SuppressWarnings("java:S3776")
        private static Table header(Session s) {
                var table = table()._class("header");
 
@@ -289,6 +290,7 @@ public class OpenApiUI extends ObjectSwap<OpenApi,Div> {
        }
 
        // Creates the contents under the "pet  Everything about your Pets  
ext-link" header.
+       @SuppressWarnings("java:S3776")
        private static Div tagBlockContents(Session s, Tag t) {
                var tagBlockContents = div()._class("tag-block-contents");
 
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ParameterInfo.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ParameterInfo.java
index 252908c3d3..2ba1669f1d 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ParameterInfo.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ParameterInfo.java
@@ -231,6 +231,7 @@ public class ParameterInfo extends SwaggerElement {
         *      <br>Can be <jk>null</jk>.
         * @return This object.
         */
+       @SuppressWarnings("java:S3776")
        public ParameterInfo copyFrom(ParameterInfo p) {
                if (nn(p)) {
                        if (nn(p.name))
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
index a230500c3a..656322292d 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/ui/SwaggerUI.java
@@ -144,6 +144,7 @@ public class SwaggerUI extends ObjectSwap<Swagger,Div> {
        }
 
        // Creates the informational summary before the ops.
+       @SuppressWarnings("java:S3776")
        private static Table header(Session s) {
                var table = table()._class("header");
 
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/annotation/AppliedAnnotationObject.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/annotation/AppliedAnnotationObject.java
index b97ba43905..3a4ebb79bb 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/annotation/AppliedAnnotationObject.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/annotation/AppliedAnnotationObject.java
@@ -216,7 +216,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderC on(Constructor<?>...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -229,7 +229,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderC on(ConstructorInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
        }
@@ -276,7 +276,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderM on(Method...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -289,7 +289,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderM on(MethodInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
        }
@@ -339,7 +339,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderMF on(Field...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -352,7 +352,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderMF on(FieldInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
 
@@ -365,7 +365,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderMF on(Method...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -378,7 +378,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderMF on(MethodInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
        }
@@ -584,7 +584,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMF on(Field...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -597,7 +597,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMF on(FieldInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
 
@@ -610,7 +610,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMF on(Method...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -623,7 +623,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMF on(MethodInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
        }
@@ -667,7 +667,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMFC on(Constructor<?>...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(info(v).getNameFull());
+                               super.on(info(v).getNameFull());
                        return this;
                }
 
@@ -680,7 +680,7 @@ public class AppliedAnnotationObject extends 
AnnotationObject {
                public BuilderTMFC on(ConstructorInfo...value) {
                        assertArgNoNulls("value", value);
                        for (var v : value)
-                               on(v.getNameFull());
+                               super.on(v.getNameFull());
                        return this;
                }
        }
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
index e920c65406..2b2bb27f58 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
@@ -303,6 +303,7 @@ public class Maps<K,V> {
         *
         * @return The built map, or {@code null} if {@link #sparse()} is set 
and the map is empty.
         */
+       @SuppressWarnings("java:S3776")
        public Map<K,V> build() {
 
                if (sparse && e(map))
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiList.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiList.java
index 60af47a6a8..01b230d88c 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiList.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiList.java
@@ -251,6 +251,7 @@ public class MultiList<E> extends AbstractList<E> {
         * @return An iterator over all elements in all underlying lists.
         */
        @Override /* List */
+       @SuppressWarnings("java:S3776")
        public Iterator<E> iterator() {
                return new Iterator<>() {
                        int i = 0;
@@ -327,6 +328,7 @@ public class MultiList<E> extends AbstractList<E> {
         * @throws IndexOutOfBoundsException if the index is out of range 
(index &lt; 0 || index &gt; size()).
         */
        @Override /* List */
+       @SuppressWarnings("java:S3776")
        public ListIterator<E> listIterator(int index) {
                if (index < 0 || index > size())
                        throw new IndexOutOfBoundsException("Index: " + index + 
", Size: " + size());
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiMap.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiMap.java
index 46df04f588..a2cc71a78f 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiMap.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiMap.java
@@ -205,6 +205,7 @@ public class MultiMap<K,V> extends AbstractMap<K,V> {
         * @return A set view of the mappings contained in this map.
         */
        @Override
+       @SuppressWarnings("java:S3776")
        public Set<Entry<K,V>> entrySet() {
                return new AbstractSet<>() {
                        @Override
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiSet.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiSet.java
index f2b1085db5..08340b0f09 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiSet.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/MultiSet.java
@@ -206,6 +206,7 @@ public class MultiSet<E> extends AbstractSet<E> {
         * @return An iterator over all elements in all underlying collections.
         */
        @Override /* Set */
+       @SuppressWarnings("java:S3776")
        public Iterator<E> iterator() {
                return new Iterator<>() {
                        int i = 0;
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/LogRecord.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/LogRecord.java
index da4cb24e14..d1863803be 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/LogRecord.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/logging/LogRecord.java
@@ -109,6 +109,7 @@ public class LogRecord extends java.util.logging.LogRecord 
{  // NOSONAR(java:S2
                return source.get().map(x -> x.getMethodName()).orElse(null);
        }
 
+       @SuppressWarnings("java:S3776")
        private static Optional<StackTraceElement> findSource() {
                for (var e : new Throwable().getStackTrace()) {  // 
NOSONAR(java:S1147): Creating Throwable to get stack trace
                        var c = e.getClassName();
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationInfo.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationInfo.java
index f8e834080d..7c1f881c43 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationInfo.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationInfo.java
@@ -723,18 +723,16 @@ public class AnnotationInfo<T extends Annotation> {
                // @formatter:off
                var ca = info(a.annotationType());
                var ja = mapb().sorted().buildFluent();  // NOAI
-               ca.getDeclaredMethods().stream().forEach(x -> {
-                       safeOptCatch(() -> {
-                               var val = x.invoke(a);
-                               var d = x.inner().getDefaultValue();
-                               // Add values only if they're different from 
the default.
-                               if (neq(val, d)) {
-                                       if (! (isArray(val) && length(val) == 0 
&& isArray(d) && length(d) == 0))
-                                               return val;
-                               }
-                               return null;
-                       }, e -> lm(e)).ifPresent(v -> ja.a(x.getName(), v));
-               });
+               ca.getDeclaredMethods().stream().forEach(x -> safeOptCatch(() 
-> {
+                       var val = x.invoke(a);
+                       var d = x.inner().getDefaultValue();
+                       // Add values only if they're different from the 
default.
+                       if (neq(val, d)) {
+                               if (! (isArray(val) && length(val) == 0 && 
isArray(d) && length(d) == 0))
+                                       return val;
+                       }
+                       return null;
+               }, e -> lm(e)).ifPresent(v -> ja.a(x.getName(), v)));
                return filteredBeanPropertyMap()
                        .a(s(annotatable.getAnnotatableType()), 
annotatable.getLabel())
                        .a("@" + ca.getNameSimple(), ja);
@@ -813,20 +811,18 @@ public class AnnotationInfo<T extends Annotation> {
                // Get annotation values (non-default only)
                var ca = info(annotationType);
                var values = new ArrayList<String>();
-               ca.getDeclaredMethods().stream().forEach(m -> {
-                       safeOptCatch(() -> {
-                               var val = m.invoke(a);
-                               var d = m.inner().getDefaultValue();
-                               // Add values only if they're different from 
the default
-                               if (neq(val, d)) {
-                                       if (! (isArray(val) && length(val) == 0 
&& isArray(d) && length(d) == 0)) {
-                                               var valueStr = 
formatAnnotationValue(val);
-                                               values.add(m.getName() + "=" + 
valueStr);
-                                       }
+               ca.getDeclaredMethods().stream().forEach(m -> safeOptCatch(() 
-> {
+                       var val = m.invoke(a);
+                       var d = m.inner().getDefaultValue();
+                       // Add values only if they're different from the default
+                       if (neq(val, d)) {
+                               if (! (isArray(val) && length(val) == 0 && 
isArray(d) && length(d) == 0)) {
+                                       var valueStr = 
formatAnnotationValue(val);
+                                       values.add(m.getName() + "=" + 
valueStr);
                                }
-                               return null;
-                       }, e -> null);
-               });
+                       }
+                       return null;
+               }, e -> null));
 
                // Build the string: @AnnotationType(key1=value1, key2=value2, 
on=location)
                if (! values.isEmpty()) {
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
index 20a1ba1187..386fa52f68 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/AnnotationProvider.java
@@ -329,6 +329,7 @@ public class AnnotationProvider {
                 * @throws BeanRuntimeException If any annotation is invalid 
(missing {@code on()} or {@code onClass()} methods,
                 *      or if the methods return incorrect types).
                 */
+               @SuppressWarnings("java:S3776")
                public Builder addRuntimeAnnotations(List<Annotation> 
annotations) {
                        if (runtimeAnnotations == null)
                                runtimeAnnotations = 
ReflectionMap.create(Annotation.class);
@@ -985,7 +986,7 @@ public class AnnotationProvider {
         * Computes and caches the complete list of annotations for a given 
type, class, and traversal combination.
         * This is the supplier function for the findCache.
         */
-       @SuppressWarnings("java:S6541")
+       @SuppressWarnings({"java:S6541", "java:S3776"})
        private List load(Class<?> type, ElementInfo element, 
AnnotationTraversal[] traversals) {
 
                if (type != null) {
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/TypeVariables.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/TypeVariables.java
index 9c761c2326..5eed0f7730 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/TypeVariables.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/reflect/TypeVariables.java
@@ -108,6 +108,7 @@ public class TypeVariables {
         * @param t The type we're recursing.
         * @param m Where the results are loaded.
         */
+       @SuppressWarnings("java:S3776")
        private static void findTypeVarImpls(Type t, Map<Class<?>, 
List<Class<?>>> m) {
                if (t instanceof Class<?> c) {
                        findTypeVarImpls(c.getGenericSuperclass(), m);
@@ -227,6 +228,7 @@ public class TypeVariables {
         * @param t The type to resolve.
         * @return The resolved class, or <jk>null</jk> if the type cannot be 
resolved to a class.
         */
+       @SuppressWarnings("java:S3776")
        public Class<?> resolve(Type t) {
                if (t instanceof Class<?> c)
                        return c;
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/time/GranularZonedDateTime.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/time/GranularZonedDateTime.java
index 172eac6d59..a7f830c566 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/time/GranularZonedDateTime.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/time/GranularZonedDateTime.java
@@ -262,7 +262,7 @@ public class GranularZonedDateTime {
         * @throws IllegalArgumentException if value is null.
         * @throws DateTimeParseException if the timestamp format is invalid.
         */
-       @SuppressWarnings("java:S6541")
+       @SuppressWarnings({"java:S6541", "java:S3776"})
        public static GranularZonedDateTime of(String value, ZoneId 
defaultZoneId, TimeProvider timeProvider) {
                assertArgNotNull(ARG_value, value);
                var digit = StringUtils.DIGIT;
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
index a543a6ab1d..d7686932c9 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/AssertionUtils.java
@@ -226,6 +226,7 @@ public class AssertionUtils {
         * @param o4 The fourth object to check.
         * @throws IllegalArgumentException Constructed exception.
         */
+       @SuppressWarnings("java:S107")
        public static final void assertArgsNotNull(String name1, Object o1, 
String name2, Object o2, String name3, Object o3, String name4, Object o4) 
throws IllegalArgumentException {
                assertArgNotNull(name1, o1);
                assertArgNotNull(name2, o2);
@@ -248,6 +249,7 @@ public class AssertionUtils {
         * @param o5 The fifth object to check.
         * @throws IllegalArgumentException Constructed exception.
         */
+       @SuppressWarnings("java:S107")
        public static final void assertArgsNotNull(String name1, Object o1, 
String name2, Object o2, String name3, Object o3, String name4, Object o4, 
String name5, Object o5)
                throws IllegalArgumentException {
                assertArgNotNull(name1, o1);
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
index 2ae1a7981e..8846c8c545 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
@@ -1225,6 +1225,7 @@ public class CollectionUtils {
         * @param v4 Value 4.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4) {
                return new SimpleMap<>(a(k1, k2, k3, k4), a(v1, v2, v3, v4));
        }
@@ -1247,6 +1248,7 @@ public class CollectionUtils {
         * @param v5 Value 5.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5), a(v1, v2, v3, v4, 
v5));
        }
@@ -1271,6 +1273,7 @@ public class CollectionUtils {
         * @param v6 Value 6.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5, K k6, V v6) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5, k6), a(v1, v2, v3, 
v4, v5, v6));
        }
@@ -1297,6 +1300,7 @@ public class CollectionUtils {
         * @param v7 Value 7.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5, k6, k7), a(v1, v2, 
v3, v4, v5, v6, v7));
        }
@@ -1325,6 +1329,7 @@ public class CollectionUtils {
         * @param v8 Value 8.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5, k6, k7, k8), a(v1, 
v2, v3, v4, v5, v6, v7, v8));
        }
@@ -1355,6 +1360,7 @@ public class CollectionUtils {
         * @param v9 Value 9.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5, k6, k7, k8, k9), 
a(v1, v2, v3, v4, v5, v6, v7, v8, v9));
        }
@@ -1387,6 +1393,7 @@ public class CollectionUtils {
         * @param v10 Value 10.
         * @return A new unmodifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> Map<K,V> m(K k1, V v1, K k2, V v2, K k3, V v3, K 
k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V 
v10) {
                return new SimpleMap<>(a(k1, k2, k3, k4, k5, k6, k7, k8, k9, 
k10), a(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10));
        }
@@ -1476,6 +1483,7 @@ public class CollectionUtils {
         * @param v4 Value 4.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1502,6 +1510,7 @@ public class CollectionUtils {
         * @param v5 Value 5.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1531,6 +1540,7 @@ public class CollectionUtils {
         * @param v6 Value 6.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1563,6 +1573,7 @@ public class CollectionUtils {
         * @param v7 Value 7.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1598,6 +1609,7 @@ public class CollectionUtils {
         * @param v8 Value 8.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1636,6 +1648,7 @@ public class CollectionUtils {
         * @param v9 Value 9.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V 
v9) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
@@ -1677,6 +1690,7 @@ public class CollectionUtils {
         * @param v10 Value 10.
         * @return A new modifiable map.
         */
+       @SuppressWarnings("java:S107")
        public static <K,V> LinkedHashMap<K,V> map(K k1, V v1, K k2, V v2, K 
k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V 
v9, K k10, V v10) {
                var m = new LinkedHashMap<K,V>();
                m.put(k1, v1);
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/FileUtils.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/FileUtils.java
index 0f427e1658..0a504cfbb0 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/FileUtils.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/FileUtils.java
@@ -52,9 +52,7 @@ public class FileUtils {
        public static void create(File f) {
                if (f.exists())
                        return;
-               safe(() -> {
-                       opt(f.createNewFile()).filter(x -> x).orElseThrow(() -> 
rex("Could not create file ''{0}''", f.getAbsolutePath()));
-               });
+               safe(() -> opt(f.createNewFile()).filter(x -> x).orElseThrow(() 
-> rex("Could not create file ''{0}''", f.getAbsolutePath())));
        }
 
        /**
diff --git 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
index 2357d58acd..9e1db6790a 100644
--- 
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
+++ 
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
@@ -2462,6 +2462,7 @@ public class StringUtils {
         * @return
         *      The time in milliseconds, or <c>-1</c> if the string is empty 
or <jk>null</jk>.
         */
+       @SuppressWarnings("java:S3776")
        public static long getDuration(String s) {
                s = trim(s);
                if (isEmpty(s))
@@ -6558,6 +6559,7 @@ public class StringUtils {
         *      The results, or <jk>null</jk> if the input was <jk>null</jk>.
         *      <br>An empty string results in an empty array.
         */
+       @SuppressWarnings("java:S3776")
        public static List<String> splitNested(String s) {
                var escapeChars = getEscapeSet(',');
 
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
index 607ae03f04..c0e34246b2 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
@@ -107,7 +107,7 @@ public class Entry {
         *      <br>Ignored if the main type is not a map or collection.
         * @return The value, or {@link Optional#empty()} if the section or key 
does not exist.
         */
-       @SuppressWarnings("unchecked")
+       @SuppressWarnings({"unchecked", "java:S3776"})
        public <T> Optional<T> as(Parser parser, Type type, Type...args) {
                if (isNull())
                        return opte();
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
index bf42f681e5..4a635d07e7 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
@@ -54,6 +54,7 @@ public class ConfigMap implements ConfigStoreListener {
                /**
                 * Constructor.
                 */
+               @SuppressWarnings("java:S3776")
                ConfigSection(List<String> lines) {
 
                        String name2 = null;
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
index 7ee094369e..e170d50fbf 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
@@ -117,6 +117,7 @@ public class ConfigMapEntry {
         */
        public String getValue() { return value; }
 
+       @SuppressWarnings("java:S3776")
        Writer writeTo(Writer w) throws IOException {
                if (value == null)
                        return w;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index fcd541d14f..923a9d308e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -485,7 +485,7 @@ public class BeanContext extends Context {
                 * @see #beanDictionary(ClassInfo...)
                 */
                public Builder beanDictionary(Class<?>...values) {
-                       assertArgNoNulls("values", values);
+                       assertArgNoNulls(ARG_values, values);
                        return 
beanDictionary(Stream.of(values).map(ReflectionUtils::info).toArray(ClassInfo[]::new));
                }
 
@@ -2572,7 +2572,7 @@ public class BeanContext extends Context {
                 * @return This object.
                 */
                public Builder interfaces(Class<?>...value) {
-                       assertArgNoNulls("value", value);
+                       assertArgNoNulls(ARG_value, value);
                        for (var v : value)
                                
annotations(BeanAnnotation.create(v).interfaceClass(v).build());
                        return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
index 5115816689..bac7f39a53 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
@@ -372,7 +372,7 @@ public abstract class BeanContextable extends Context {
                 * @return This object.
                 */
                public Builder beanDictionary(Class<?>...values) {
-                       assertArgNoNulls("values", values);
+                       assertArgNoNulls(ARG_values, values);
                        bcBuilder.beanDictionary(values);
                        return this;
                }
@@ -2175,7 +2175,7 @@ public abstract class BeanContextable extends Context {
                 * @return This object.
                 */
                public Builder interfaces(Class<?>...value) {
-                       assertArgNoNulls("value", value);
+                       assertArgNoNulls(ARG_value, value);
                        bcBuilder.interfaces(value);
                        return this;
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
index d443adc3f4..61095122d5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
@@ -110,10 +110,10 @@ public class BeanFilter {
 
                /**
                 * Applies the information in the specified list of {@link Bean 
@Bean} annotations to this filter.
-                *
                 * @param annotations The annotations to apply.
                 * @return This object.
                 */
+               @SuppressWarnings("java:S3776")
                public Builder applyAnnotations(List<Bean> annotations) {
 
                        annotations.forEach(x -> {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
index 3c46d2e468..1a6eaf09cd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMap.java
@@ -235,6 +235,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> 
implements Delegate<T
         * @param action The action to perform.
         * @return The list of all bean property values.
         */
+       @SuppressWarnings("java:S3776")
        public BeanMap<T> forEachValue(Predicate<Object> valueFilter, 
BeanPropertyConsumer action) {
 
                // Normal bean.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
index 0780120161..45a79319d3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanProxyInvocationHandler.java
@@ -113,6 +113,7 @@ public class BeanProxyInvocationHandler<T> implements 
InvocationHandler {
         * @throws UnsupportedOperationException If the method is not a 
supported bean method (getter, setter, equals, hashCode, or toString)
         */
        @Override /* Overridden from InvocationHandler */
+       @SuppressWarnings("java:S3776")
        public Object invoke(Object proxy, Method method, Object[] args) {
                var mi = info(method);
                if (mi.hasName("equals") && mi.hasParameterTypes(Object.class)) 
{
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
index f642d5c0fc..7d33015e03 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanRegistry.java
@@ -134,6 +134,7 @@ public class BeanRegistry {
                return r(properties());
        }
 
+       @SuppressWarnings("java:S3776")
        private void addClass(ClassInfo ci) {
                try {
                        if (nn(ci) && nn(ci.inner())) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index 04848073f7..1ac8d399d9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -175,6 +175,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {  // 
NOSONAR(java:S1200): C
         *      Don't call init() in constructor.
         *      Used for delayed initialization when the possibility of class 
reference loops exist.
         */
+       @SuppressWarnings("java:S3776")
        ClassMeta(Class<T> innerClass, BeanContext beanContext) {
                super(innerClass);
                this.beanContext = beanContext;
@@ -522,7 +523,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {  // 
NOSONAR(java:S1200): C
         * @param jpSession The JSON parser for parsing examples into POJOs.
         * @return The serialized class type, or this object if no swap is 
associated with the class.
         */
-       @SuppressWarnings({ "unchecked" })
+       @SuppressWarnings({ "unchecked", "java:S3776" })
        public T getExample(BeanSession session, JsonParserSession jpSession) {
                try {
                        if (example.isPresent())
@@ -1507,6 +1508,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {  // 
NOSONAR(java:S1200): C
                return 
MarshalledFilter.create(inner()).applyAnnotations(reverse(l.stream().map(AnnotationInfo::inner).toList())).build();
        }
 
+       @SuppressWarnings("java:S3776")
        private Property<T,Object> findNameProperty() {
                var ap = beanContext.getAnnotationProvider();
 
@@ -1599,6 +1601,7 @@ public class ClassMeta<T> extends ClassInfoTyped<T> {  // 
NOSONAR(java:S1200): C
                        .orElse(null);
        }
 
+       @SuppressWarnings("java:S3776")
        private Property<T,Object> findParentProperty() {
                var ap = beanContext.getAnnotationProvider();
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
index 10abc09f1d..531b3b915f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
@@ -36,6 +36,7 @@ public class PropertyNamerDUCS implements PropertyNamer {
        public static final PropertyNamer INSTANCE = new PropertyNamerDUCS();
 
        @Override /* Overridden from PropertyNamer */
+       @SuppressWarnings("java:S3776")
        public String getPropertyName(String name) {
                if (e(name))
                        return name;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
index c17094289c..14e5f010dc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
@@ -133,6 +133,7 @@ public class UriResolver {
         * @param o The URI to convert to absolute form.
         * @return The same appendable passed in.
         */
+       @SuppressWarnings("java:S3776")
        public Appendable append(Appendable a, Object o) {
 
                try {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
index 3896956826..7452072be2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
@@ -148,7 +148,7 @@ public class BasicFileFinder implements FileFinder {
         * @return The resolved resource contents, or <jk>null</jk> if the 
resource was not found.
         * @throws IOException Thrown by underlying stream.
         */
-       @SuppressWarnings("null")
+       @SuppressWarnings({"null", "java:S3776"})
        protected Optional<InputStream> find(String name, Locale locale) throws 
IOException {
                name = trimSlashesAndSpaces(name);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
index aa2ea9cc26..06949dc4ac 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/BasicHtmlDocTemplate.java
@@ -314,6 +314,7 @@ public class BasicHtmlDocTemplate implements 
HtmlDocTemplate {
         * @param o The object being serialized.
         * @throws Exception Any exception can be thrown.
         */
+       @SuppressWarnings("java:S3776")
        protected void nav(HtmlDocSerializerSession session, HtmlWriter w, 
Object o) throws Exception {
                String[] links = session.getNavLinks();
                if (links.length > 0 && ! contains("NONE", links)) {
@@ -356,9 +357,7 @@ public class BasicHtmlDocTemplate implements 
HtmlDocTemplate {
                var addSpace = Flag.create();
                for (var s : session.getScript())
                        w.sIf(addSpace.getAndSet()).append(3, 
session.resolve(s)).append('\n'); // Must always append a newline even if 
whitespace disabled!
-               session.forEachWidget(x -> {
-                       w.sIf(addSpace.getAndSet()).append(3, 
session.resolve(x.getScript(session.getVarResolver()))).w('\n'); // Must always 
append a newline even if whitespace disabled!
-               });
+               session.forEachWidget(x -> 
w.sIf(addSpace.getAndSet()).append(3, 
session.resolve(x.getScript(session.getVarResolver()))).w('\n')); // Must 
always append a newline even if whitespace disabled!
        }
 
        /**
@@ -377,8 +376,6 @@ public class BasicHtmlDocTemplate implements 
HtmlDocTemplate {
                        w.appendln(3, "div.data * {white-space:nowrap;} ");
                for (var s : session.getStyle())
                        w.sIf(addSpace.getAndSet()).appendln(3, 
session.resolve(s));
-               session.forEachWidget(x -> {
-                       w.sIf(addSpace.getAndSet()).appendln(3, 
session.resolve(x.getStyle(session.getVarResolver())));
-               });
+               session.forEachWidget(x -> 
w.sIf(addSpace.getAndSet()).appendln(3, 
session.resolve(x.getStyle(session.getVarResolver()))));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index da9ce3e8c1..f1703f790a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -806,7 +806,7 @@ public class HtmlSerializerSession extends 
XmlSerializerSession {
         * @return The type of content encountered.  Either simple (no 
whitespace) or normal (elements with whitespace).
         * @throws SerializeException Generic serialization error occurred.
         */
-       @SuppressWarnings({ "rawtypes", "unchecked", "null", "java:S3776" })
+       @SuppressWarnings({ "rawtypes", "unchecked", "null", "java:S3776", 
"java:S107" })
        protected ContentResult serializeAnything(XmlWriter out, Object o, 
ClassMeta<?> eType, String name, BeanPropertyMeta pMeta, int xIndent, boolean 
isRoot, boolean nlIfElement)
                throws SerializeException {
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlTag.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlTag.java
index 7529f12697..df250281d9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlTag.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlTag.java
@@ -80,6 +80,7 @@ enum HtmlTag {
                throw new ParseException(session, "Invalid call to 
HtmlTag.forEvent on event of type ''{0}''", XmlUtils.toReadableEvent(r));
        }
 
+       @SuppressWarnings("java:S3776")
        static HtmlTag forString(String tag, boolean end) {
                var c = tag.charAt(0);
                HtmlTag t = null;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlWriter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlWriter.java
index 285796c1c0..011b193162 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlWriter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlWriter.java
@@ -378,6 +378,7 @@ public class HtmlWriter extends XmlWriter {
        }
 
        @Override /* Overridden from XmlSerializerWriter */
+       @SuppressWarnings("java:S3776")
        public HtmlWriter text(Object o, boolean preserveWhitespace) {
 
                if (o == null) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonWriter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonWriter.java
index 55e3e9d548..57d4da5000 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonWriter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonWriter.java
@@ -158,6 +158,7 @@ public class JsonWriter extends SerializerWriter {
         * @param s The object being serialized.
         * @return This object.
         */
+       @SuppressWarnings("java:S3776")
        public JsonWriter attr(String s) {
 
                if (trimStrings)
@@ -287,6 +288,7 @@ public class JsonWriter extends SerializerWriter {
         * @param s The object being serialized.
         * @return This object.
         */
+       @SuppressWarnings("java:S3776")
        public JsonWriter stringValue(String s) {
                if (s == null)
                        return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
index 2a30be2477..1295e0ecbe 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
@@ -133,6 +133,7 @@ public class MsgPackInputStream extends ParserInputStream {
         * <p>
         * This is the byte that indicates what kind of data follows.
         */
+       @SuppressWarnings("java:S3776")
        DataType readDataType() throws IOException {
                int i = read();
                if (i == -1)
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/NumberMatcherFactory.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/NumberMatcherFactory.java
index 69541a0272..8e4115813e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/NumberMatcherFactory.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/NumberMatcherFactory.java
@@ -58,6 +58,7 @@ public class NumberMatcherFactory extends MatcherFactory {
                NumberRange[] numberRanges;
                String pattern;
 
+               @SuppressWarnings("java:S3776")
                public NumberMatcher(String s) {
 
                        s = s.trim();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectMerger.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectMerger.java
index 30f934a2db..619be1d435 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectMerger.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectMerger.java
@@ -101,6 +101,7 @@ public class ObjectMerger {
                 * @throws ExecutableException Exception occurred on invoked 
constructor/method/field.
                 */
                @Override /* Overridden from InvocationHandler */
+               @SuppressWarnings("java:S3776")
                public Object invoke(Object proxy, Method method, Object[] 
args) throws ExecutableException {
                        Object r = null;
                        var isGetter = args == null && method.getReturnType() 
!= Void.class;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectRest.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectRest.java
index 55163e8bf1..30e88c690a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectRest.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectRest.java
@@ -811,6 +811,7 @@ public class ObjectRest {
        /*
         * Workhorse method.
         */
+       @SuppressWarnings("java:S3776")
        private Object service(int method, String url, Object val) throws 
ObjectRestException {
 
                url = normalizeUrl(url);
@@ -947,6 +948,7 @@ public class ObjectRest {
                return null;    // Never gets here.
        }
 
+       @SuppressWarnings("java:S3776")
        private Object[] setArrayEntry(Object o, int index, Object val, 
ClassMeta componentType) {
                var a = (Object[])o;
                if (a.length <= index) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectSearcher.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectSearcher.java
index ae785903dc..f575adca4c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectSearcher.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/ObjectSearcher.java
@@ -119,6 +119,7 @@ public class ObjectSearcher implements 
ObjectTool<SearchArgs> {
                        this.matchers = new AbstractMatcher[factories.length];
                }
 
+               @SuppressWarnings("java:S3776")
                boolean matches(Object o) {
                        var cm = bs.getClassMetaForObject(o);
                        if (cm == null)
@@ -160,6 +161,7 @@ public class ObjectSearcher implements 
ObjectTool<SearchArgs> {
                        query.forEach((k, v) -> entryMatchers.put(s(k), new 
ColumnMatcher(bs, s(v))));
                }
 
+               @SuppressWarnings("java:S3776")
                boolean matches(Object o) {
                        if (o == null)
                                return false;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
index 31bbd47be0..b999df2290 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
@@ -65,6 +65,7 @@ public class StringMatcherFactory extends MatcherFactory {
                Pattern[] andPatterns;
                Pattern[] notPatterns;
 
+               @SuppressWarnings("java:S3776")
                public StringMatcher(String searchPattern) {
 
                        this.pattern = searchPattern.trim();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/TimeMatcherFactory.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/TimeMatcherFactory.java
index ec506e31bc..5834f9cec2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/TimeMatcherFactory.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/TimeMatcherFactory.java
@@ -65,6 +65,7 @@ public class TimeMatcherFactory extends MatcherFactory {
                TimestampRange[] ranges;
                List<TimestampRange> l = new LinkedList<>();
 
+               @SuppressWarnings("java:S3776")
                public TimeMatcher(String s) {
 
                        // Possible patterns:
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
index f8aec00ff4..cb72a2f7fb 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserPipe.java
@@ -271,6 +271,7 @@ public class ParserPipe implements Closeable {
         * @return The input object wrapped in a Reader, or <jk>null</jk> if 
the object is null.
         * @throws IOException If object could not be converted to a reader.
         */
+       @SuppressWarnings("java:S3776")
        public Reader getReader() throws IOException {
                if (input == null)
                        return null;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserReader.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserReader.java
index 5d032821a1..5f63ed5517 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserReader.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserReader.java
@@ -375,6 +375,7 @@ public class ParserReader extends Reader implements 
Positionable {
                return this;
        }
 
+       @SuppressWarnings("java:S3776")
        private final int readFromBuff() throws IOException {
                while (iCurrent >= iEnd) {
                        if (endReached)
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
index 8d6601ce67..4ced2ff134 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/Mutaters.java
@@ -186,7 +186,7 @@ public class Mutaters {
         * @param o The object to convert to a string.
         * @return The stringified object, or <jk>null</jk> if the object was 
<jk>null</jk>.
         */
-       @SuppressWarnings({ "unchecked" })
+       @SuppressWarnings({ "unchecked", "java:S3776" })
        public static String toString(Object o) {
                if (o == null)
                        return null;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
index ca9a6e3cde..0744ece7e2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
@@ -103,7 +103,7 @@ public class VarResolver {
                 * @return This object .
                 */
                public <T> Builder bean(Class<T> c, T value) {
-                       beanStore().addBean(c, value);
+                       super.beanStore().addBean(c, value);
                        return this;
                }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
index 22513d5c94..32190c6c64 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
@@ -89,6 +89,7 @@ public class VarResolverSession {
         * Checks to see if string is of the simple form "$X{...}" with no 
embedded variables.
         * This is a common case, and we can avoid using StringWriters.
         */
+       @SuppressWarnings("java:S3776")
        private static boolean isSimpleVar(String s) {
                // S1: Not in variable, looking for $
                // S2: Found $, Looking for {
@@ -179,6 +180,7 @@ public class VarResolverSession {
         *      The new string with all variables resolved, or the same string 
if no variables were found.
         *      <br>Returns <jk>null</jk> if the input was <jk>null</jk>.
         */
+       @SuppressWarnings("java:S3776")
        public String resolve(String s) {
 
                if (s == null || s.isEmpty() || (s.indexOf('$') == -1 && 
s.indexOf('\\') == -1))
@@ -249,7 +251,7 @@ public class VarResolverSession {
         * @return The same object if no resolution was needed, otherwise a new 
object or data structure if resolution was
         * needed.
         */
-       @SuppressWarnings({ "rawtypes", "unchecked" })
+       @SuppressWarnings({ "rawtypes", "unchecked", "java:S3776" })
        public <T> T resolve(T o) {
                if (o == null)
                        return null;
@@ -320,7 +322,7 @@ public class VarResolverSession {
         * @return The same writer.
         * @throws IOException Thrown by underlying stream.
         */
-       @SuppressWarnings("java:S6541")
+       @SuppressWarnings({"java:S6541", "java:S3776"})
        public Writer resolveTo(String s, Writer out) throws IOException {
 
                // S1: Not in variable, looking for $
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swaps/DefaultingTemporalAccessor.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swaps/DefaultingTemporalAccessor.java
index b75a39cb79..3396cb6179 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swaps/DefaultingTemporalAccessor.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swaps/DefaultingTemporalAccessor.java
@@ -92,7 +92,7 @@ public class DefaultingTemporalAccessor implements 
TemporalAccessor {
        }
 
        @Override /* Overridden from TemporalAccessor */
-       @SuppressWarnings("unchecked")
+       @SuppressWarnings({"unchecked", "java:S3776"})
        public <R> R query(TemporalQuery<R> query) {
                var r = inner.query(query);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
index 03587f02f2..5d882ec2e4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonWriter.java
@@ -148,6 +148,7 @@ public class UonWriter extends SerializerWriter {
         * @param isTopAttrName If this is a top-level attribute name we're 
serializing.
         * @return This object.
         */
+       @SuppressWarnings("java:S3776")
        public UonWriter appendObject(Object o, boolean isTopAttrName) {
 
                if (o instanceof Boolean)
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
index 4f02d83d97..4a66634dd1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
@@ -187,7 +187,7 @@ public class BeanDiff {
         *      Optional properties to exclude in the comparison.
         *      <br>If <jk>null</jk>, no properties are excluded.
         */
-       @SuppressWarnings("null")
+       @SuppressWarnings({"null", "java:S3776"})
        public <T> BeanDiff(BeanContext bc, T first, T second, Set<String> 
include, Set<String> exclude) {
                if (first == null && second == null)
                        return;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
index e8327152e1..76ac8846be 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/StringExpressionMatcher.java
@@ -227,6 +227,7 @@ public class StringExpressionMatcher {
                return exp.toString();
        }
 
+       @SuppressWarnings("java:S3776")
        private Exp parse(String expression) throws ParseException {
                if (b(expression))
                        return new Never();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
index 2829d8383c..6a5b5d86da 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanMeta.java
@@ -46,6 +46,7 @@ public class XmlBeanMeta extends ExtendedBeanMeta {
                BeanPropertyMeta contentProperty;
                XmlFormat contentFormat = DEFAULT;
 
+               @SuppressWarnings("java:S3776")
                XmlBeanMetaBuilder(BeanMeta<?> beanMeta, XmlMetaProvider mp) {
                        var c = beanMeta.getClassMeta().inner();
                        var ci = beanMeta.getClassMeta();
@@ -121,6 +122,7 @@ public class XmlBeanMeta extends ExtendedBeanMeta {
         * @param beanMeta The metadata on the bean that this metadata applies 
to.
         * @param mp XML metadata provider (for finding information about other 
artifacts).
         */
+       @SuppressWarnings("java:S3776")
        public XmlBeanMeta(BeanMeta<?> beanMeta, XmlMetaProvider mp) {
                super(beanMeta);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
index e25137666b..03f528969f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
@@ -101,6 +101,7 @@ public class XmlBeanPropertyMeta extends 
ExtendedBeanPropertyMeta {
         */
        public XmlFormat getXmlFormat() { return xmlFormat; }
 
+       @SuppressWarnings("java:S3776")
        private void findXmlInfo(Xml xml, AnnotationProvider mp) {
                if (xml == null)
                        return;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
index f154bb4977..ef556f7dfa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
@@ -753,7 +753,7 @@ public class XmlSerializerSession extends 
WriterSerializerSession {
         * @return The same writer passed in so that calls to the writer can be 
chained.
         * @throws SerializeException General serialization error occurred.
         */
-       @SuppressWarnings({ "null", "java:S3776", "java:S6541" })
+       @SuppressWarnings({ "null", "java:S3776", "java:S6541", "java:S107" })
        protected ContentResult serializeAnything(XmlWriter out, Object o, 
ClassMeta<?> eType, String keyName, String elementName, Namespace 
elementNamespace, boolean addNamespaceUris, XmlFormat format,
                boolean isMixedOrText, boolean preserveWhitespace, 
BeanPropertyMeta pMeta) throws SerializeException {
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
index 523ddc5815..7805b2043c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlUtils.java
@@ -137,6 +137,7 @@ public class XmlUtils {
         * @return This object.
         * @throws IOException If a problem occurred.
         */
+       @SuppressWarnings("java:S3776")
        public static Writer encodeAttrName(Writer w, Object value) throws 
IOException {
                if (value == null)
                        return w.append("_x0000_");
@@ -184,6 +185,7 @@ public class XmlUtils {
         *      If <jk>true</jk>, leading and trailing whitespace characters 
will be encoded.
         * @return The same writer passed in.
         */
+       @SuppressWarnings("java:S3776")
        public static Writer encodeAttrValue(Writer w, Object value, boolean 
trim) {
                try {
                        if (value == null)
@@ -283,6 +285,7 @@ public class XmlUtils {
         *      If <jk>true</jk>, leading and trailing whitespace characters 
will be encoded.
         * @return The same writer passed in.
         */
+       @SuppressWarnings("java:S3776")
        public static Writer encodeText(Writer w, Object value, boolean trim, 
boolean preserveWhitespace) {
 
                try {
@@ -423,6 +426,7 @@ public class XmlUtils {
        }
 
        // Converts an integer to a hexadecimal string padded to 4 places.
+       @SuppressWarnings("java:S3776")
        private static Writer appendPaddedHexChar(Writer out, int num) throws 
IOException {
                out.append("_x");
                for (var c : toHex4(num))
@@ -430,6 +434,7 @@ public class XmlUtils {
                return out.append('_');
        }
 
+       @SuppressWarnings("java:S3776")
        private static Writer encodeElementNameInner(Writer w, String s) throws 
IOException {
                for (var i = 0; i < s.length(); i++) {
                        var c = s.charAt(i);
diff --git 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
index e1451511d4..1e64918f04 100644
--- 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
+++ 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/console/ConfigCommand.java
@@ -37,6 +37,7 @@ public class ConfigCommand extends ConsoleCommand {
        private final Messages mb = Messages.of(ConfigCommand.class, 
"Messages");
 
        @Override /* Overridden from ConsoleCommand */
+       @SuppressWarnings("java:S3776")
        public boolean execute(Scanner in, PrintWriter out, Args args) {
                var conf = Microservice.getInstance().getConfig();
                if (args.size() > 2) {
diff --git 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
index 3bb2c929c9..4a9bb038ac 100644
--- 
a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++ 
b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
@@ -210,13 +210,13 @@ public class LogsResource extends BasicRestServlet {
                );
        }
 
-       @SuppressWarnings({ "resource", "java:S3776" })
        @RestOp(
                method="VIEW",
                path="/*",
                summary="View contents of log file",
                description="View the contents of a log file."
        )
+       @SuppressWarnings({ "resource", "java:S3776", "java:S107" })
        public void viewFile(
                        RestResponse res,
                        @Path("/*") String path,
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index cf30958f1c..e3adc19cf1 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -3977,7 +3977,7 @@ public class RestClient extends BeanContextable 
implements HttpClient, Closeable
                 */
                @SuppressWarnings("unchecked")
                public Builder parsers(Class<? extends Parser>...value) {
-                       assertArgNoNulls("value", value);
+                       assertArgNoNulls(ARG_value, value);
                        parsers().add(value);
                        return this;
                }
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
index 334be51fb7..565823ee84 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
@@ -2493,7 +2493,7 @@ public class RestRequest extends BeanSession implements 
HttpUriRequest, Configur
        @Override /* Overridden from BeanSession */
        protected FluentMap<String,Object> properties() {
                return super.properties()
-                       .a("client", client.properties())
+                       .a(ARG_client, client.properties())
                        .a("ignoreErrors", ignoreErrors)
                        .a("interceptors", interceptors)
                        .a("requestBodySchema", contentSchema)
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpMethod.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpMethod.java
index 016545c4a3..0f28dc2e5a 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpMethod.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpMethod.java
@@ -72,7 +72,7 @@ public class HttpMethod {
        /** Represents any HTTP method. */
        public static final String ANY = "*";
 
-       private static final Set<String> NO_BODY_METHODS = u(set("GET", "HEAD", 
"DELETE", "CONNECT", "OPTIONS", "TRACE"));
+       private static final Set<String> NO_BODY_METHODS = u(set(GET, HEAD, 
DELETE, CONNECT, OPTIONS, TRACE));
 
        /**
         * Returns <jk>true</jk> if specified http method has content.
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpParts.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpParts.java
index fa8490ea54..89f4393eb0 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpParts.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/HttpParts.java
@@ -74,9 +74,7 @@ public class HttpParts {
                return n.orElse(null);
        };
 
-       private static final Function<ClassMeta<?>,ConstructorInfo> 
CONSTRUCTOR_FUNCTION = x -> {
-               return x.getPublicConstructor(y -> 
y.hasParameterTypes(String.class)).orElseGet(() -> x.getPublicConstructor(y -> 
y.hasParameterTypes(String.class, String.class)).orElse(null));
-       };
+       private static final Function<ClassMeta<?>,ConstructorInfo> 
CONSTRUCTOR_FUNCTION = x -> x.getPublicConstructor(y -> 
y.hasParameterTypes(String.class)).orElseGet(() -> x.getPublicConstructor(y -> 
y.hasParameterTypes(String.class, String.class)).orElse(null));
 
        /**
         * Creates a {@link BasicPart} from a name/value pair string (e.g. 
<js>"Foo: bar"</js>)
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
index eccd0dabc1..598da2d541 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
@@ -182,6 +182,7 @@ public class BasicCsvHeader extends BasicHeader {
         * @param val The value to check for.
         * @return <jk>true</jk> if this header contains the specified value.
         */
+       @SuppressWarnings("java:S3776")
        public boolean contains(String val) {
                if (nn(value))
                        for (var v : value)
@@ -204,6 +205,7 @@ public class BasicCsvHeader extends BasicHeader {
         * @param val The value to check for.
         * @return <jk>true</jk> if this header contains the specified value.
         */
+       @SuppressWarnings("java:S3776")
        public boolean containsIgnoreCase(String val) {
                if (nn(value))
                        for (var v : value)
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/rest/common/utils/HttpUtils.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/rest/common/utils/HttpUtils.java
index 7f85c2deae..177c8760c6 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/rest/common/utils/HttpUtils.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/rest/common/utils/HttpUtils.java
@@ -43,6 +43,7 @@ public class HttpUtils {
         * @param def The default HTTP method if not detected.
         * @return The REST method name, or the default value if not found.
         */
+       @SuppressWarnings("java:S3776")
        public static String detectHttpMethod(Method m, boolean detectMethod, 
String def) {
                String n = m.getName();
                if (detectMethod) {
@@ -66,6 +67,7 @@ public class HttpUtils {
         * @param method The HTTP method name if it's known.
         * @return The REST path or <jk>null</jk> if not detected.
         */
+       @SuppressWarnings("java:S3776")
        public static String detectHttpPath(Method m, String method) {
                String n = m.getName();
                if (method == null) {
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
index 56cd9fe7f2..ebef6d9f3d 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
@@ -499,7 +499,7 @@ public class MockRestClient extends RestClient implements 
HttpClientConnection {
 
                @Override /* Overridden from Context.Builder */
                public MockRestClient build() {
-                       return build(MockRestClient.class);
+                       return super.build(MockRestClient.class);
                }
 
                @Override /* Overridden from Builder */
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
index d9bd541ad6..d60cdd2774 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
@@ -123,6 +123,7 @@ public class MockServletRequest implements 
HttpServletRequest {
         * @param req The request to copy overrides from.
         * @return This object.
         */
+       @SuppressWarnings("java:S3776")
        public MockServletRequest applyOverrides(HttpRequest req) {
 
                if (req instanceof MockRestRequest req2) {
@@ -450,6 +451,7 @@ public class MockServletRequest implements 
HttpServletRequest {
        public String getProtocolRequestId() { return null; }
 
        @Override /* Overridden from HttpServletRequest */
+       @SuppressWarnings("java:S3776")
        public String getQueryString() {
                if (queryString == null) {
                        if (queryDataMap.isEmpty())
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 4e997d75bf..c28874a52b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -1626,7 +1626,7 @@ public class RestContext extends Context {
                 */
                @SafeVarargs
                public final Builder encoders(Class<? extends Encoder>...value) 
{
-                       assertArgNoNulls("value", value);
+                       assertArgNoNulls(ARG_value, value);
                        encoders().add(value);
                        return this;
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index 518f8299f3..4dc39bfc9f 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
@@ -419,7 +419,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                 */
                @SafeVarargs
                public final Builder converters(Class<? extends 
RestConverter>...value) {
-                       assertArgNoNulls("value", value);
+                       assertArgNoNulls(ARG_value, value);
                        converters().append(value);
                        return this;
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
index 3e779a00f4..5116fc8f46 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpSession.java
@@ -231,6 +231,6 @@ public class RestOpSession extends ContextSession {
        protected FluentMap<String,Object> properties() {
                return super.properties()
                        .a("ctx", ctx)
-                       .a("session", session);
+                       .a(ARG_session, session);
        }
 }
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
index fe28b62d62..e7b37cf332 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
@@ -72,6 +72,7 @@ public class RestRequestArgs extends SimpleRestOperationArg {
         * @param paramInfo The Java method parameter being resolved.
         * @return A new arg, or <jk>null</jk> if the parameter type is not one 
of the supported types.
         */
+       @SuppressWarnings("java:S3776")
        public static RestRequestArgs create(ParameterInfo paramInfo) {
                if (paramInfo.isType(HttpPartParserSession.class))
                        return new 
RestRequestArgs(RestRequest::getPartParserSession);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
index b8f681805e..7a1f2669c9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/guard/RoleMatcher.java
@@ -238,7 +238,7 @@ public class RoleMatcher {
                return exp.toString();
        }
 
-       @SuppressWarnings("java:S6541")
+       @SuppressWarnings({"java:S6541", "java:S3776"})
        private Exp parse(String expression) throws ParseException {
                if (StringUtils.isBlank(expression))
                        return new Never();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
index 82b9d15dd0..9dcf2620d9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
@@ -300,7 +300,7 @@ public class RequestAttributes {
        protected FluentMap<String,Object> properties() {
                // @formatter:off
                return filteredBeanPropertyMap()
-                       .a("attributes", asMap());
+                       .a(ARG_attributes, asMap());
                // @formatter:on
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseBeanProcessor.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseBeanProcessor.java
index 9b1a2db3b2..e20bc964c0 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseBeanProcessor.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseBeanProcessor.java
@@ -40,7 +40,7 @@ import org.apache.juneau.rest.*;
 public class ResponseBeanProcessor implements ResponseProcessor {
 
        @Override /* Overridden from ResponseProcessor */
-       @SuppressWarnings("java:S6541")
+       @SuppressWarnings({"java:S6541", "java:S3776"})
        public int process(RestOpSession opSession) throws IOException {
 
                var req = opSession.getRequest();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
index 9f92a3a2be..44f9e26c39 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
@@ -40,6 +40,7 @@ import org.apache.juneau.serializer.*;
 public class SerializedPojoProcessor implements ResponseProcessor {
 
        @Override /* Overridden from ResponseProcessor */
+       @SuppressWarnings("java:S3776")
        public int process(RestOpSession opSession) throws IOException, 
NotAcceptable, BasicHttpException {
                RestRequest req = opSession.getRequest();
                RestResponse res = opSession.getResponse();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
index e5724eaee3..fb2370b86f 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
@@ -287,17 +287,17 @@ public class BasicSwaggerProviderSession {
                                );
                }
 
-               omSwagger.appendIf(nem, SWAGGER_externalDocs, 
parseMap(mb.findFirstString("externalDocs"), "Messages/externalDocs on class 
{0}", c));
+               omSwagger.appendIf(nem, SWAGGER_externalDocs, 
parseMap(mb.findFirstString(SWAGGER_externalDocs), "Messages/externalDocs on 
class {0}", c));
 
                var info = omSwagger.getMap(SWAGGER_info, true);
 
                info
-                       .appendIf(ne, SWAGGER_title, 
resolve(mb.findFirstString("title")))
-                       .appendIf(ne, SWAGGER_description, 
resolve(mb.findFirstString("description")))
-                       .appendIf(ne, SWAGGER_version, 
resolve(mb.findFirstString("version")))
-                       .appendIf(ne, SWAGGER_termsOfService, 
resolve(mb.findFirstString("termsOfService")))
-                       .appendIf(nem, SWAGGER_contact, 
parseMap(mb.findFirstString("contact"), "Messages/contact on class {0}", c))
-                       .appendIf(nem, SWAGGER_license, 
parseMap(mb.findFirstString("license"), "Messages/license on class {0}", c));
+                       .appendIf(ne, SWAGGER_title, 
resolve(mb.findFirstString(SWAGGER_title)))
+                       .appendIf(ne, SWAGGER_description, 
resolve(mb.findFirstString(SWAGGER_description)))
+                       .appendIf(ne, SWAGGER_version, 
resolve(mb.findFirstString(SWAGGER_version)))
+                       .appendIf(ne, SWAGGER_termsOfService, 
resolve(mb.findFirstString(SWAGGER_termsOfService)))
+                       .appendIf(nem, SWAGGER_contact, 
parseMap(mb.findFirstString(SWAGGER_contact), "Messages/contact on class {0}", 
c))
+                       .appendIf(nem, SWAGGER_license, 
parseMap(mb.findFirstString(SWAGGER_license), "Messages/license on class {0}", 
c));
 
                if (info.isEmpty())
                        omSwagger.remove(SWAGGER_info);
@@ -366,7 +366,7 @@ public class BasicSwaggerProviderSession {
                        );
 
                        var _summary = Value.<String>empty();
-                       al.forEach(ai -> ai.getValue(String.class, 
"summary").filter(NOT_EMPTY).ifPresent(_summary::set));
+                       al.forEach(ai -> ai.getValue(String.class, 
SWAGGER_summary).filter(NOT_EMPTY).ifPresent(_summary::set));
                        op.appendIf(ne, SWAGGER_summary,
                                firstNonEmpty(
                                        resolve(ms.summary()),
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatcher.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatcher.java
index 62e61b316f..6996a22575 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatcher.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPathMatcher.java
@@ -131,7 +131,7 @@ public abstract class UrlPathMatcher implements 
Comparable<UrlPathMatcher> {
                 * @return
                 *      A pattern match object, or <jk>null</jk> if the path 
didn't match this pattern.
                 */
-               @SuppressWarnings("null")
+               @SuppressWarnings({"null", "java:S3776"})
                @Override
                public UrlPathMatch match(UrlPath urlPath) {
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestVar.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestVar.java
index 6cdec98fb0..f1d887e398 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestVar.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestVar.java
@@ -78,6 +78,7 @@ public class RequestVar extends MultipartResolvingVar {
        }
 
        @Override /* Overridden from Var */
+       @SuppressWarnings("java:S3776")
        public String resolve(VarResolverSession session, String key) {
                RestRequest req = 
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new);
                char c = charAt(key, 0);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
index e715591b4e..bfd9615e99 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/MenuItemWidget.java
@@ -118,6 +118,7 @@ public abstract class MenuItemWidget extends Widget {
        public abstract Object getContent(RestRequest req, RestResponse res);
 
        @Override /* Overridden from Widget */
+       @SuppressWarnings("java:S3776")
        public String getHtml(RestRequest req, RestResponse res) {
                var sb = new StringBuilder();
 
diff --git a/sonar-project.properties b/sonar-project.properties
index d98870784a..4ce23ee9ce 100644
--- a/sonar-project.properties
+++ b/sonar-project.properties
@@ -55,8 +55,11 @@ sonar.qualitygate.wait=true
 # Large switch expressions are sometimes necessary and intentional (e.g., 
SchemaInfo property mapping)
 # Exclude S1192 (string literals should not be duplicated) globally for all 
files
 # String literal duplication is sometimes necessary for consistency (e.g., 
property names, constants)
-sonar.issue.ignore.multicriteria=e1,e2
+# Exclude CSS rules - CSS files may contain valid selectors that SonarQube 
doesn't recognize
+sonar.issue.ignore.multicriteria=e1,e2,e3
 sonar.issue.ignore.multicriteria.e1.ruleKey=java:S1479
 sonar.issue.ignore.multicriteria.e1.resourceKey=**/*.java
 sonar.issue.ignore.multicriteria.e2.ruleKey=java:S1192
 sonar.issue.ignore.multicriteria.e2.resourceKey=**/*.java
+sonar.issue.ignore.multicriteria.e3.ruleKey=css:*
+sonar.issue.ignore.multicriteria.e3.resourceKey=**/*.css

Reply via email to