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 3b6cb854ed Apply IDIOM-01/02 mechanical fixes across remaining modules 
(TODO-294)
3b6cb854ed is described below

commit 3b6cb854ed248eff913bea8b5567caa81b31dec6
Author: James Bognar <[email protected]>
AuthorDate: Sat Jul 25 10:20:58 2026 -0400

    Apply IDIOM-01/02 mechanical fixes across remaining modules (TODO-294)
    
    Applies the established Shorts-factory substitutions 
(l()/m()/set()/u()/o()/oe()/
    eq()/h()) and cause-carrying exception overloads (iaex/isex/ioex/rex) to 141
    sites across the 24 non-core modules, completing the IDIOM-01/02 backlog 
begun
    under TODO-287/289/290. Behavior-preserving; honors the FINISHED-241
    deep-array-equality and FINISHED-287 no-matching-factory standing 
exceptions.
---
 .../org/apache/juneau/bean/openapi3/Callback.java  |  2 +-
 .../juneau/bean/openapi3/SecurityRequirement.java  |  2 +-
 .../org/apache/juneau/bean/rfc7807/Problem.java    |  2 +-
 .../juneau/bean/rfc7807/ProblemMapperList.java     |  6 +++--
 .../org/apache/juneau/bean/swagger/HeaderInfo.java |  2 +-
 .../java/org/apache/juneau/bean/swagger/Items.java |  2 +-
 .../org/apache/juneau/bean/swagger/Operation.java  |  8 +++----
 .../apache/juneau/bean/swagger/ParameterInfo.java  |  2 +-
 .../org/apache/juneau/bean/swagger/SchemaInfo.java |  6 ++---
 .../org/apache/juneau/bean/swagger/Swagger.java    |  8 +++----
 .../main/java/org/apache/juneau/config/Config.java |  2 +-
 .../juneau/config/format/YamlConfigFormat.java     |  2 +-
 .../apache/juneau/config/internal/ConfigMap.java   |  2 +-
 .../juneau/config/store/ProfileConfigStore.java    |  4 ++--
 .../juneau/marshall/jena/RdfParserSession.java     |  2 +-
 .../marshall/jena/RdfStreamParserSession.java      |  2 +-
 .../assertions/FluentPrimitiveArrayAssertion.java  |  2 +-
 .../examples/core/html/HtmlComplexExample.java     |  8 ++++---
 .../examples/core/json/JsonComplexExample.java     |  8 ++++---
 .../examples/core/uon/UonComplexExample.java       |  8 ++++---
 .../examples/core/xml/XmlComplexExample.java       |  8 ++++---
 .../examples/core/xml/XmlConfigurationExample.java |  4 +++-
 .../juneau/microservice/examples/LogParser.java    |  4 ++--
 .../org/apache/juneau/microservice/LogConfig.java  |  4 +++-
 .../microservice/logging/LogEntryFormatter.java    |  2 +-
 .../juneau/petstore/rest/PetHtmlResource.java      |  5 ++---
 .../apache/juneau/petstore/service/PetStore.java   |  2 +-
 .../client/classic/remote/RemoteOperationMeta.java | 26 +++++++++++-----------
 .../rest/client/jetty/JettyHttpTransport.java      |  4 +++-
 .../client/jetty/JettyHttpTransportProvider.java   |  4 +++-
 .../apache/juneau/rest/client/ResponseBody.java    |  2 +-
 .../org/apache/juneau/rest/client/RestClient.java  | 10 ++++-----
 .../juneau/rest/client/RestLogLevelResolver.java   |  4 +++-
 .../org/apache/juneau/rest/client/RestRequest.java | 16 +++++++------
 .../apache/juneau/rest/client/SerializerBody.java  |  3 ++-
 .../juneau/rest/client/TransportRequest.java       |  4 ++--
 .../juneau/rest/client/TransportResponse.java      |  2 +-
 .../apache/juneau/http/entity/MultipartBody.java   |  3 ++-
 .../apache/juneau/http/header/Authorization.java   |  2 +-
 .../apache/juneau/http/header/CacheControl.java    |  2 +-
 .../juneau/http/header/ContentDisposition.java     |  2 +-
 .../juneau/http/header/ContentSecurityPolicy.java  |  4 ++--
 .../org/apache/juneau/http/header/Forwarded.java   |  6 ++---
 .../juneau/http/header/ProxyAuthenticate.java      |  2 +-
 .../juneau/http/header/ProxyAuthorization.java     |  2 +-
 .../java/org/apache/juneau/http/header/Range.java  |  2 +-
 .../org/apache/juneau/http/header/Warning.java     |  2 +-
 .../apache/juneau/http/header/WwwAuthenticate.java |  2 +-
 .../juneau/http/remote/RrpcInterfaceMeta.java      |  8 +++----
 .../juneau/http/response/BasicHttpException.java   |  2 +-
 .../juneau/http/response/BasicHttpResponse.java    |  2 +-
 .../apache/juneau/rest/mock/MockHttpTransport.java |  5 +++--
 .../apache/juneau/rest/mock/MockRestClient.java    |  3 ++-
 .../rest/server/auth/jwt/JwtTokenValidator.java    |  6 ++---
 .../auth/oauth/OAuthIntrospectionValidator.java    |  4 ++--
 .../juneau/rest/server/auth/oauth/OAuthToken.java  |  2 +-
 .../oauth/flow/OAuthAuthorizationCodeFlow.java     |  5 +++--
 .../oauth/flow/OAuthClientCredentialsFlow.java     |  5 +++--
 .../auth/oauth/flow/OAuthRefreshTokenFlow.java     |  5 +++--
 .../auth/oauth/flow/OAuthResourceOwnerFlow.java    |  5 +++--
 .../rest/server/auth/oauth/oidc/OidcMetadata.java  |  6 +++--
 .../auth/oidc/rp/IdTokenValidatorAdapter.java      |  3 ++-
 .../server/auth/oidc/rp/InMemorySessionStore.java  |  8 +++----
 .../rest/server/auth/oidc/rp/OidcRelyingParty.java | 12 +++++-----
 .../rest/server/auth/oidc/rp/OidcSession.java      |  4 +++-
 .../auth/oidc/rp/SignedCookieSessionStore.java     |  2 +-
 .../rest/server/auth/saml/OpenSamlBootstrap.java   |  4 +++-
 .../server/auth/saml/SamlAssertionValidator.java   |  4 ++--
 .../rest/server/auth/saml/SamlAuthFilter.java      |  2 +-
 .../server/auth/saml/SamlMetadataResolvers.java    |  6 ++---
 .../juneau/rest/server/mcp/McpServerConfig.java    | 14 +++++++-----
 .../server/metrics/micrometer/MetricsManager.java  |  4 +++-
 .../server/reactive/ReactiveResponseProcessor.java |  5 +++--
 73 files changed, 190 insertions(+), 149 deletions(-)

diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
index d472da27a0..af671e030d 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/Callback.java
@@ -110,7 +110,7 @@ public class Callback extends OpenApiElement {
                assertArgNotNull(ARG_expression, expression);
                assertArgNotNull(ARG_pathItem, pathItem);
                if (callbacks == null)
-                       callbacks = new LinkedHashMap<>();
+                       callbacks = m();
                callbacks.put(expression, pathItem);
                return this;
        }
diff --git 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecurityRequirement.java
 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecurityRequirement.java
index 65fe886b00..4e9fe3a956 100644
--- 
a/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecurityRequirement.java
+++ 
b/juneau-bean/juneau-bean-openapi-v3/src/main/java/org/apache/juneau/bean/openapi3/SecurityRequirement.java
@@ -73,7 +73,7 @@ public class SecurityRequirement extends OpenApiElement {
                assertArgNotNull(ARG_schemeName, schemeName);
                assertArgNoNulls(ARG_scopes, scopes);
                if (requirements == null)
-                       requirements = new LinkedHashMap<>();
+                       requirements = m();
                requirements.put(schemeName, l(scopes));
                return this;
        }
diff --git 
a/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/Problem.java
 
b/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/Problem.java
index 41dce93b90..db96dd0c58 100644
--- 
a/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/Problem.java
+++ 
b/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/Problem.java
@@ -269,7 +269,7 @@ public class Problem {
        @BeanProp("*")
        public Problem set(String property, Object value) {
                if (extra == null)
-                       extra = new LinkedHashMap<>();
+                       extra = m();
                extra.put(property, value);
                return this;
        }
diff --git 
a/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/ProblemMapperList.java
 
b/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/ProblemMapperList.java
index 6c4d0e5c62..4ec6564e09 100644
--- 
a/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/ProblemMapperList.java
+++ 
b/juneau-bean/juneau-bean-rfc7807/src/main/java/org/apache/juneau/bean/rfc7807/ProblemMapperList.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.bean.rfc7807;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 /**
@@ -58,7 +60,7 @@ public class ProblemMapperList {
         * {@link #append(Collection)}.
         */
        public ProblemMapperList() {
-               mappers = new ArrayList<>();
+               mappers = l();
        }
 
        /**
@@ -108,7 +110,7 @@ public class ProblemMapperList {
         * @return An unmodifiable view of the underlying list. Never {@code 
null}.
         */
        public List<ProblemMapper<?>> asList() {
-               return Collections.unmodifiableList(mappers);
+               return u(mappers);
        }
 
        /**
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/HeaderInfo.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/HeaderInfo.java
index d5c574322b..ea65223922 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/HeaderInfo.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/HeaderInfo.java
@@ -130,7 +130,7 @@ public class HeaderInfo extends SwaggerElement {
        private Boolean uniqueItems;
        private Items items;
        private Object default_;
-       private Set<Object> enum_ = new LinkedHashSet<>();
+       private Set<Object> enum_ = st();
        private Object example;
 
        /**
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Items.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Items.java
index 3a2ec57f48..4c052db90e 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Items.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Items.java
@@ -129,7 +129,7 @@ public class Items extends SwaggerElement {
        })
        private Items items;
        private Object default_;
-       private Set<Object> enum_ = new LinkedHashSet<>();
+       private Set<Object> enum_ = st();
 
        /**
         * Default constructor.
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
index f417110a3e..bca15ee055 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Operation.java
@@ -192,10 +192,10 @@ public class Operation extends SwaggerElement {
        private String operationId;
        private Boolean deprecated;
        private ExternalDocumentation externalDocs;
-       private Set<String> tags = new LinkedHashSet<>();
-       private Set<String> schemes = new LinkedHashSet<>();
-       private Set<MediaType> consumes = new LinkedHashSet<>();
-       private Set<MediaType> produces = new LinkedHashSet<>();
+       private Set<String> tags = st();
+       private Set<String> schemes = st();
+       private Set<MediaType> consumes = st();
+       private Set<MediaType> produces = st();
        private List<ParameterInfo> parameters = list();
        private List<Map<String,List<String>>> security = list();
 
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 a8cd2713a0..22b51a880c 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
@@ -182,7 +182,7 @@ public class ParameterInfo extends SwaggerElement {
        private SchemaInfo schema;
        private Items items;
        private Object default_;
-       private Set<Object> enum_ = new LinkedHashSet<>();
+       private Set<Object> enum_ = st();
        private Object example;
        private Map<String,String> examples;
 
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/SchemaInfo.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/SchemaInfo.java
index d4d871a6a6..55e0ab0786 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/SchemaInfo.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/SchemaInfo.java
@@ -167,9 +167,9 @@ public class SchemaInfo extends SwaggerElement {
        private Items items;
        private Xml xml;
        private ExternalDocumentation externalDocs;
-       private Set<Object> enum_ = new LinkedHashSet<>();
-       private Set<SchemaInfo> allOf = new LinkedHashSet<>();
-       private Set<String> requiredProperties = new LinkedHashSet<>();
+       private Set<Object> enum_ = st();
+       private Set<SchemaInfo> allOf = st();
+       private Set<String> requiredProperties = st();
        private Map<String,SchemaInfo> properties = map();
        private SchemaInfo additionalProperties;
 
diff --git 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
index 38ce438e87..eeba9030ba 100644
--- 
a/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
+++ 
b/juneau-bean/juneau-bean-swagger-v2/src/main/java/org/apache/juneau/bean/swagger/Swagger.java
@@ -136,10 +136,10 @@ public class Swagger extends SwaggerElement {
        private String basePath;
        private Info info;
        private ExternalDocumentation externalDocs;
-       private Set<String> schemes = new LinkedHashSet<>();
-       private Set<MediaType> consumes = new LinkedHashSet<>();
-       private Set<MediaType> produces = new LinkedHashSet<>();
-       private Set<Tag> tags = new LinkedHashSet<>();
+       private Set<String> schemes = st();
+       private Set<MediaType> consumes = st();
+       private Set<MediaType> produces = st();
+       private Set<Tag> tags = st();
        private List<Map<String,List<String>>> security = list();
        private Map<String,JsonMap> definitions = map();
        private Map<String,ParameterInfo> parameters = map();
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
index c9f4cdfd44..4ee7d8a113 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
@@ -630,7 +630,7 @@ public class Config extends Context implements 
ConfigEventListener {
        protected final WriterSerializer serializer;
 
        private final ConfigMap configMap;
-       private final List<ConfigEventListener> listeners = synced(new 
LinkedList<>());
+       private final List<ConfigEventListener> listeners = synced(ll());
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/format/YamlConfigFormat.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/format/YamlConfigFormat.java
index 77fde9a6e6..95060bfe65 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/format/YamlConfigFormat.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/format/YamlConfigFormat.java
@@ -112,7 +112,7 @@ public class YamlConfigFormat implements ConfigFormat {
        @Override /* ConfigFormat */
        public String fromInternal(ConfigMap map) {
                var sb = new StringBuilder();
-               List<String> opened = new ArrayList<>();
+               List<String> opened = l();
                for (var section : map.getSections()) {
                        var segments = splitPath(section);
                        var common = commonPrefix(opened, segments);
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 7e50da5425..cadca0b2d6 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
@@ -930,7 +930,7 @@ public class ConfigMap implements ConfigStoreListener {
 
                var imports2 = mapOfType(String.class, ConfigMap.class);
 
-               List<String> lines = new LinkedList<>();
+               List<String> lines = ll();
                try (var scanner = new Scanner(contents)) {
                        while (scanner.hasNextLine()) {
                                var line = scanner.nextLine();
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ProfileConfigStore.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ProfileConfigStore.java
index 36427593ee..e8c47a2492 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ProfileConfigStore.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/ProfileConfigStore.java
@@ -60,7 +60,7 @@ public class ProfileConfigStore extends ConfigStore {
 
                ConfigStore delegate;
                String baseName;
-               List<String> profiles = new ArrayList<>();
+               List<String> profiles = l();
                ConfigFormat format = IniConfigFormat.INSTANCE;
 
                /** Constructor, default settings. */
@@ -117,7 +117,7 @@ public class ProfileConfigStore extends ConfigStore {
                 *      <br>Can be <jk>null</jk> (treated as no active 
profiles).
                 * @return This object.
                 */
-               public Builder profiles(List<String> value) { profiles = value 
== null ? new ArrayList<>() : new ArrayList<>(value); return this; }
+               public Builder profiles(List<String> value) { profiles = value 
== null ? l() : new ArrayList<>(value); return this; }
 
                /**
                 * Sets the config format used to parse the base + profile 
files.
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
index 2c37d4b5d2..4a4e985981 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfParserSession.java
@@ -100,7 +100,7 @@ public class RdfParserSession extends ReaderParserSession {
        private final org.apache.jena.rdf.model.Property pRdfType;
        private final Lang lang;
        private final RdfParser ctx;
-       private final Set<Resource> urisVisited = new HashSet<>();
+       private final Set<Resource> urisVisited = st();
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
index d97ec812d5..086ee4ba13 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/jena/RdfStreamParserSession.java
@@ -103,7 +103,7 @@ public class RdfStreamParserSession extends 
InputStreamParserSession {
        private final org.apache.jena.rdf.model.Property pRdfType;
        private final Lang lang;
        private final RdfStreamParser ctx;
-       private final Set<Resource> urisVisited = new HashSet<>();
+       private final Set<Resource> urisVisited = st();
 
        /**
         * Constructor.
diff --git 
a/juneau-core/juneau-test/src/main/java/org/apache/juneau/test/assertions/FluentPrimitiveArrayAssertion.java
 
b/juneau-core/juneau-test/src/main/java/org/apache/juneau/test/assertions/FluentPrimitiveArrayAssertion.java
index 162336a859..3a368d451c 100644
--- 
a/juneau-core/juneau-test/src/main/java/org/apache/juneau/test/assertions/FluentPrimitiveArrayAssertion.java
+++ 
b/juneau-core/juneau-test/src/main/java/org/apache/juneau/test/assertions/FluentPrimitiveArrayAssertion.java
@@ -110,7 +110,7 @@ public class FluentPrimitiveArrayAssertion<E,T,R> extends 
FluentObjectAssertion<
        private static final String ARG_entries = "entries";
        private static final String ARG_test = "test";
 
-       private static final Map<Class<?>,Function<Object,String>> STRINGIFIERS 
= new HashMap<>();
+       private static final Map<Class<?>,Function<Object,String>> STRINGIFIERS 
= m();
        static {
                STRINGIFIERS.put(boolean.class, x -> 
Arrays.toString((boolean[])x));
                STRINGIFIERS.put(byte.class, x -> Arrays.toString((byte[])x));
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/html/HtmlComplexExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/html/HtmlComplexExample.java
index b2d6d7b0df..53aeb91bb3 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/html/HtmlComplexExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/html/HtmlComplexExample.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.examples.core.html;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.commons.logging.*;
@@ -53,11 +55,11 @@ public class HtmlComplexExample {
                var htmlParser = HtmlParser.DEFAULT;
 
                // Fill some data to a PojoComplex bean
-               Map<String,List<Pojo>> values = new HashMap<>();
-               List<Pojo> setOne = new ArrayList<>();
+               Map<String,List<Pojo>> values = m();
+               List<Pojo> setOne = l();
                setOne.add(new Pojo("1.1", "name1"));
                setOne.add(new Pojo("1.1", "name2"));
-               List<Pojo> setTwo = new ArrayList<>();
+               List<Pojo> setTwo = l();
                setTwo.add(new Pojo("1.2", "name1"));
                setTwo.add(new Pojo("1.2", "name2"));
                values.put("setOne", setOne);
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonComplexExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonComplexExample.java
index eea3c69f10..04e083edf3 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonComplexExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/json/JsonComplexExample.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.examples.core.json;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.commons.logging.*;
@@ -49,11 +51,11 @@ public class JsonComplexExample {
                var jsonParser = JsonParser.DEFAULT;
 
                // Fill some data to a PojoComplex bean
-               Map<String,List<Pojo>> values = new HashMap<>();
-               List<Pojo> setOne = new ArrayList<>();
+               Map<String,List<Pojo>> values = m();
+               List<Pojo> setOne = l();
                setOne.add(new Pojo("1.1", "name1"));
                setOne.add(new Pojo("1.1", "name2"));
-               List<Pojo> setTwo = new ArrayList<>();
+               List<Pojo> setTwo = l();
                setTwo.add(new Pojo("1.2", "name1"));
                setTwo.add(new Pojo("1.2", "name2"));
                values.put("setOne", setOne);
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/uon/UonComplexExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/uon/UonComplexExample.java
index 2bc583b012..458bdace7e 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/uon/UonComplexExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/uon/UonComplexExample.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.examples.core.uon;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.commons.logging.*;
@@ -37,11 +39,11 @@ public class UonComplexExample {
        public static void main(String[] args) throws Exception {
 
                // Fill some data to a PojoComplex bean
-               Map<String,List<Pojo>> values = new HashMap<>();
-               List<Pojo> setOne = new ArrayList<>();
+               Map<String,List<Pojo>> values = m();
+               List<Pojo> setOne = l();
                setOne.add(new Pojo("1.1", "name1"));
                setOne.add(new Pojo("1.1", "name2"));
-               List<Pojo> setTwo = new ArrayList<>();
+               List<Pojo> setTwo = l();
                setTwo.add(new Pojo("1.2", "name1"));
                setTwo.add(new Pojo("1.2", "name2"));
                values.put("setOne", setOne);
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlComplexExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlComplexExample.java
index 097722fe18..a8d49cc776 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlComplexExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlComplexExample.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.examples.core.xml;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.commons.logging.*;
@@ -38,11 +40,11 @@ public class XmlComplexExample {
        public static void main(String[] args) throws Exception {
 
                // Fill some data to a PojoComplex bean
-               Map<String,List<Pojo>> values = new HashMap<>();
-               List<Pojo> setOne = new ArrayList<>();
+               Map<String,List<Pojo>> values = m();
+               List<Pojo> setOne = l();
                setOne.add(new Pojo("1.1", "name1"));
                setOne.add(new Pojo("1.1", "name2"));
-               List<Pojo> setTwo = new ArrayList<>();
+               List<Pojo> setTwo = l();
                setTwo.add(new Pojo("1.2", "name1"));
                setTwo.add(new Pojo("1.2", "name2"));
                values.put("setOne", setOne);
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlConfigurationExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlConfigurationExample.java
index fe10fa9945..4c81c08ca5 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlConfigurationExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/xml/XmlConfigurationExample.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.examples.core.xml;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.commons.logging.*;
@@ -51,7 +53,7 @@ public class XmlConfigurationExample {
                // the output will be padded with spaces after format 
characters.
                
Logger.getLogger(XmlConfigurationExample.class).info(withWhitespace);
 
-               Map<String,List<Pojo>> values = new HashMap<>();
+               Map<String,List<Pojo>> values = m();
                var pojoc = new PojoComplex("pojo", new Pojo("1.0", "name0"), 
values);
 
                //Produces
diff --git 
a/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
 
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
index d92956e3a3..fc50c3abf2 100644
--- 
a/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
+++ 
b/juneau-microservice/juneau-microservice-examples/src/main/java/org/apache/juneau/microservice/examples/LogParser.java
@@ -135,7 +135,7 @@ public class LogParser implements 
Iterable<LogParser.Entry>, Closeable {
 
                void addText(String t) {
                        if (additionalText == null)
-                               additionalText = new LinkedList<>();
+                               additionalText = ll();
                        additionalText.add(t);
                }
 
@@ -192,7 +192,7 @@ public class LogParser implements 
Iterable<LogParser.Entry>, Closeable {
                // Close the reader in a finally so a parse failure mid-loop 
doesn't leak the file descriptor.
                br = new BufferedReader(new InputStreamReader(new 
FileInputStream(f), Charset.defaultCharset()));
                try {
-                       List<Entry> allEntries = new ArrayList<>();
+                       List<Entry> allEntries = l();
                        Entry prev = null;
                        String line;
                        while (nn(line = br.readLine())) {
diff --git 
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
 
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
index 6fa96d6a4c..c3270e7b92 100644
--- 
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
+++ 
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/LogConfig.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.microservice;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 import java.util.logging.*;
 import java.util.logging.Formatter;
@@ -50,7 +52,7 @@ public class LogConfig {
        Integer count;
        Level fileLevel;
        Level consoleLevel;
-       Map<String,Level> levels = new LinkedHashMap<>();
+       Map<String,Level> levels = m();
 
        Formatter formatter;
 
diff --git 
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
 
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
index 4f7a0bd52b..05b6f1113b 100644
--- 
a/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
+++ 
b/juneau-microservice/juneau-microservice/src/main/java/org/apache/juneau/microservice/logging/LogEntryFormatter.java
@@ -132,7 +132,7 @@ public class LogEntryFormatter extends Formatter {
                if (useStackTraceHashes)
                        hashes = new ConcurrentHashMap<>();
 
-               fieldIndexes = new HashMap<>();
+               fieldIndexes = m();
 
                // @formatter:off
                format = format
diff --git 
a/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/rest/PetHtmlResource.java
 
b/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/rest/PetHtmlResource.java
index fb81948388..500340ff7a 100644
--- 
a/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/rest/PetHtmlResource.java
+++ 
b/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/rest/PetHtmlResource.java
@@ -18,9 +18,8 @@ package org.apache.juneau.petstore.rest;
 
 import static org.apache.juneau.bean.html5.HtmlBuilder.*;
 
-import java.util.*;
-
 import org.apache.juneau.bean.html5.*;
+import org.apache.juneau.commons.utils.Shorts;
 import org.apache.juneau.http.*;
 import org.apache.juneau.http.response.*;
 import org.apache.juneau.petstore.service.*;
@@ -96,7 +95,7 @@ public class PetHtmlResource extends BasicRestServlet {
         */
        @RestGet("/table")
        public Table getPetTable() {
-               var rows = new ArrayList<>();
+               var rows = Shorts.l();
                rows.add(tr(th("Name"), th("Species"), th("Price"), 
th("Status")));
                for (var pet : store.getPets())
                        rows.add(tr(td(pet.getName()), td(pet.getSpecies()), 
td(pet.getPrice()), td(pet.getStatus())));
diff --git 
a/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/service/PetStore.java
 
b/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/service/PetStore.java
index 76783b2225..c06ecc0d3a 100644
--- 
a/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/service/PetStore.java
+++ 
b/juneau-petstore/juneau-petstore-core/src/main/java/org/apache/juneau/petstore/service/PetStore.java
@@ -94,7 +94,7 @@ public class PetStore {
                var loader = PetStore.class.getClassLoader();
                try (var in = loader.getResourceAsStream(resourcePath)) {
                        if (in == null)
-                               return new ArrayList<>();
+                               return l();
                        try (var reader = new InputStreamReader(in, 
StandardCharsets.UTF_8)) {
                                return Json5.DEFAULT.read(reader, List.class, 
elementType);
                        }
diff --git 
a/juneau-rest/juneau-rest-client-classic/src/main/java/org/apache/juneau/rest/client/classic/remote/RemoteOperationMeta.java
 
b/juneau-rest/juneau-rest-client-classic/src/main/java/org/apache/juneau/rest/client/classic/remote/RemoteOperationMeta.java
index 083c5816e1..a08bd8c236 100644
--- 
a/juneau-rest/juneau-rest-client-classic/src/main/java/org/apache/juneau/rest/client/classic/remote/RemoteOperationMeta.java
+++ 
b/juneau-rest/juneau-rest-client-classic/src/main/java/org/apache/juneau/rest/client/classic/remote/RemoteOperationMeta.java
@@ -53,17 +53,17 @@ public class RemoteOperationMeta {
                String httpMethod;
                String fullPath;
                String path;
-               List<RemoteOperationArg> pathArgs = new LinkedList<>();
-               List<RemoteOperationArg> queryArgs = new LinkedList<>();
-               List<RemoteOperationArg> headerArgs = new LinkedList<>();
-               List<RemoteOperationArg> formDataArgs = new LinkedList<>();
-               List<RemoteOperationBeanArg> requestArgs = new LinkedList<>();
+               List<RemoteOperationArg> pathArgs = ll();
+               List<RemoteOperationArg> queryArgs = ll();
+               List<RemoteOperationArg> headerArgs = ll();
+               List<RemoteOperationArg> formDataArgs = ll();
+               List<RemoteOperationBeanArg> requestArgs = ll();
                RemoteOperationArg bodyArg;
                RemoteOperationReturn methodReturn;
-               Map<String,String> pathDefaults = new LinkedHashMap<>();
-               Map<String,String> queryDefaults = new LinkedHashMap<>();
-               Map<String,String> headerDefaults = new LinkedHashMap<>();
-               Map<String,String> formDataDefaults = new LinkedHashMap<>();
+               Map<String,String> pathDefaults = m();
+               Map<String,String> queryDefaults = m();
+               Map<String,String> headerDefaults = m();
+               Map<String,String> formDataDefaults = m();
                String contentDefault = null;
                static final AnnotationProvider AP = 
AnnotationProvider.INSTANCE;
 
@@ -248,10 +248,10 @@ public class RemoteOperationMeta {
                contentArg = b.bodyArg;
                methodReturn = b.methodReturn;
                exceptions = m.getExceptionTypes();
-               pathDefaults = Collections.unmodifiableMap(b.pathDefaults);
-               queryDefaults = Collections.unmodifiableMap(b.queryDefaults);
-               headerDefaults = Collections.unmodifiableMap(b.headerDefaults);
-               formDataDefaults = 
Collections.unmodifiableMap(b.formDataDefaults);
+               pathDefaults = u(b.pathDefaults);
+               queryDefaults = u(b.queryDefaults);
+               headerDefaults = u(b.headerDefaults);
+               formDataDefaults = u(b.formDataDefaults);
                contentDefault = b.contentDefault;
        }
 
diff --git 
a/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransport.java
 
b/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransport.java
index b5b811fe85..703ad261a1 100644
--- 
a/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransport.java
+++ 
b/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransport.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.client.jetty;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.io.*;
 import java.util.concurrent.*;
 
@@ -130,7 +132,7 @@ public final class JettyHttpTransport implements 
HttpTransport {
                try {
                        httpClient.stop();
                } catch (Exception e) {
-                       throw new IOException("Failed to stop Jetty HttpClient: 
" + e.getMessage(), e);
+                       throw ioex(e, "Failed to stop Jetty HttpClient: %s", 
e.getMessage());
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransportProvider.java
 
b/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransportProvider.java
index 956fabb5cd..58cdf5cabc 100644
--- 
a/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransportProvider.java
+++ 
b/juneau-rest/juneau-rest-client-jetty/src/main/java/org/apache/juneau/rest/client/jetty/JettyHttpTransportProvider.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.client.jetty;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import org.apache.juneau.rest.client.*;
 
 /**
@@ -65,7 +67,7 @@ public final class JettyHttpTransportProvider implements 
HttpTransportProvider {
                try {
                        return JettyHttpTransport.create();
                } catch (Exception e) {
-                       throw new RuntimeException("Failed to create 
JettyHttpTransport: " + e.getMessage(), e);
+                       throw rex(e, "Failed to create JettyHttpTransport: %s", 
e.getMessage());
                }
        }
 }
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseBody.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseBody.java
index 529bc21da9..8c2463c6e5 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseBody.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseBody.java
@@ -186,7 +186,7 @@ public final class ResponseBody {
                try {
                        return parser.read(body, type);
                } catch (ParseException e) {
-                       throw new IOException(e);
+                       throw ioex(e);
                }
        }
 
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 0b77fe087e..7ec73fbd2f 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
@@ -381,18 +381,18 @@ public final class RestClient implements Closeable {
        public static final class Builder {
 
                HttpTransport transport;
-               final List<HttpHeader> defaultHeaders = new ArrayList<>();
-               final List<HttpPart> defaultQueryData = new ArrayList<>();
+               final List<HttpHeader> defaultHeaders = l();
+               final List<HttpPart> defaultQueryData = l();
                String rootUrl;
-               final List<RestCallInterceptor> interceptors = new 
ArrayList<>();
+               final List<RestCallInterceptor> interceptors = l();
                RestLogger logger;
                List<BodyConverter<?>> bodyConverters = new 
ArrayList<>(DEFAULT_BODY_CONVERTERS);
                SerializerSet serializers;
                ParserSet parsers;
                Serializer defaultSerializer;
                Parser defaultParser;
-               final List<Serializer> serializerList = new ArrayList<>();
-               final List<Parser> parserList = new ArrayList<>();
+               final List<Serializer> serializerList = l();
+               final List<Parser> parserList = l();
 
                private Builder() {}
 
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestLogLevelResolver.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestLogLevelResolver.java
index 7373acab03..6e5820bf8a 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestLogLevelResolver.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestLogLevelResolver.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 import java.util.function.*;
 
@@ -105,7 +107,7 @@ public interface RestLogLevelResolver {
         */
        class RuleBuilder {
 
-               private final List<Rule> rules = new ArrayList<>();
+               private final List<Rule> rules = l();
                private System.Logger.Level defaultLevel = 
System.Logger.Level.INFO;
 
                private RuleBuilder() {}
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 3b740043fd..9b640fb3b9 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
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.client;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.io.*;
 import java.net.*;
 import java.nio.charset.*;
@@ -51,17 +53,17 @@ public final class RestRequest {
        private final RestClient client;
        private final String method;
        private final String url;
-       private final List<HttpHeader> headers = new ArrayList<>();
-       private final List<HttpPart> queryData = new ArrayList<>();
-       private final List<HttpPart> formData = new ArrayList<>();
-       private final Map<String,Object> pathData = new LinkedHashMap<>();
+       private final List<HttpHeader> headers = l();
+       private final List<HttpPart> queryData = l();
+       private final List<HttpPart> formData = l();
+       private final Map<String,Object> pathData = m();
        private HttpBody body;
        private TransportBody convertedBody;
        private boolean debug;
        private URI resolvedUri;
        private Duration timeout;
        // Per-request interceptors, unioned with the client-level interceptors 
at run() time.
-       private final List<RestCallInterceptor> requestInterceptors = new 
ArrayList<>();
+       private final List<RestCallInterceptor> requestInterceptors = l();
 
        RestRequest(RestClient client, String method, String url) {
                this.client = client;
@@ -586,7 +588,7 @@ public final class RestRequest {
                        try {
                                return new URI(baseUrl);
                        } catch (URISyntaxException e) {
-                               throw new IllegalArgumentException("Invalid 
URL: " + baseUrl, e);
+                               throw iaex(e, "Invalid URL: %s", baseUrl);
                        }
                }
                var sb = new StringBuilder(baseUrl);
@@ -602,7 +604,7 @@ public final class RestRequest {
                try {
                        return new URI(sb.toString());
                } catch (URISyntaxException e) {
-                       throw new IllegalArgumentException("Invalid URL: " + 
sb, e);
+                       throw iaex(e, "Invalid URL: %s", sb);
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializerBody.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializerBody.java
index 25b1b141fd..448cef506e 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializerBody.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializerBody.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.client;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.io.*;
 
@@ -101,7 +102,7 @@ public final class SerializerBody implements HttpBody {
                try {
                        serializer.write(value, out);
                } catch (SerializeException e) {
-                       throw new IOException(e);
+                       throw ioex(e);
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportRequest.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportRequest.java
index f0abb90f9d..e674c92db1 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportRequest.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportRequest.java
@@ -139,7 +139,7 @@ public final class TransportRequest {
 
                String method;
                URI uri;
-               final List<TransportHeader> headers = new ArrayList<>();
+               final List<TransportHeader> headers = l();
                TransportBody body;
                Duration timeout;
 
@@ -178,7 +178,7 @@ public final class TransportRequest {
                        try {
                                uri = new URI(value);
                        } catch (URISyntaxException e) {
-                               throw new IllegalArgumentException("Invalid 
URI: " + value, e);
+                               throw iaex(e, "Invalid URI: %s", value);
                        }
                        return this;
                }
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportResponse.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportResponse.java
index 4e58788f13..7c8936c3ec 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportResponse.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/TransportResponse.java
@@ -137,7 +137,7 @@ public final class TransportResponse implements Closeable {
 
                int statusCode;
                String reasonPhrase;
-               final List<TransportHeader> headers = new ArrayList<>();
+               final List<TransportHeader> headers = l();
                InputStream body;
                Closeable closeCallback;
 
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/MultipartBody.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/MultipartBody.java
index 595974bc66..31b2530b40 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/MultipartBody.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/MultipartBody.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.http.entity;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.io.*;
 import java.nio.charset.*;
@@ -213,7 +214,7 @@ public final class MultipartBody implements HttpBody {
        public static final class Builder {
 
                private String boundary = 
UUID.randomUUID().toString().replace("-", "");
-               private final List<MultipartPart> parts = new ArrayList<>();
+               private final List<MultipartPart> parts = l();
 
                private Builder() {}
 
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Authorization.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Authorization.java
index f9715130cf..98d8caa265 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Authorization.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Authorization.java
@@ -167,7 +167,7 @@ public class Authorization extends HttpStringHeader {
 
                private String scheme;
                private String token68;
-               private final Map<String,String> params = new LinkedHashMap<>();
+               private final Map<String,String> params = m();
 
                /**
                 * Sets the authentication scheme (e.g. <js>"Basic"</js>, 
<js>"Bearer"</js>, <js>"Digest"</js>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/CacheControl.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/CacheControl.java
index a41ecc666b..f5d0f0c4c2 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/CacheControl.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/CacheControl.java
@@ -138,7 +138,7 @@ public class CacheControl extends HttpStringHeader {
                private Long sMaxAge;
                private Long staleWhileRevalidate;
                private Long staleIfError;
-               private final List<String> extensions = new ArrayList<>();
+               private final List<String> extensions = l();
 
                /**
                 * Adds the <c>public</c> directive (responses may be cached by 
any cache).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
index 3b0309a9a1..53d0a444ff 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentDisposition.java
@@ -144,7 +144,7 @@ public class ContentDisposition extends 
HttpStringRangesHeader {
        public static class Builder {
 
                private String type;
-               private final Map<String,String> params = new LinkedHashMap<>();
+               private final Map<String,String> params = m();
 
                /**
                 * Sets the disposition-type (e.g. <js>"inline"</js>, 
<js>"attachment"</js>, <js>"form-data"</js>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentSecurityPolicy.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentSecurityPolicy.java
index 494c45f86c..9180accf15 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentSecurityPolicy.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ContentSecurityPolicy.java
@@ -327,7 +327,7 @@ public class ContentSecurityPolicy extends HttpStringHeader 
{
                // Instance
                
//--------------------------------------------------------------------------------------------------------------
 
-               private final Map<String,List<String>> directives = new 
LinkedHashMap<>();
+               private final Map<String,List<String>> directives = m();
                private boolean reportOnly;
 
                /**
@@ -500,7 +500,7 @@ public class ContentSecurityPolicy extends HttpStringHeader 
{
                        var n = name.trim();
                        if (n.isEmpty())
                                throw iaex("directive name must not be blank");
-                       directives.put(n, sources == null ? new ArrayList<>() : 
new ArrayList<>(Arrays.asList(sources)));
+                       directives.put(n, sources == null ? l() : new 
ArrayList<>(Arrays.asList(sources)));
                        return this;
                }
 
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Forwarded.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Forwarded.java
index f7839bce09..33b8ae0907 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Forwarded.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Forwarded.java
@@ -129,14 +129,14 @@ public class Forwarded extends HttpStringHeader {
         */
        public static class Builder {
 
-               private final List<Map<String,String>> elements = new 
ArrayList<>();
+               private final List<Map<String,String>> elements = l();
                private Map<String,String> current;
 
                /**
                 * Constructor.
                 */
                public Builder() {
-                       current = new LinkedHashMap<>();
+                       current = m();
                        elements.add(current);
                }
 
@@ -208,7 +208,7 @@ public class Forwarded extends HttpStringHeader {
                 * @return This object.
                 */
                public Builder next() {
-                       current = new LinkedHashMap<>();
+                       current = m();
                        elements.add(current);
                        return this;
                }
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthenticate.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthenticate.java
index c903c795b0..564a8f9e8e 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthenticate.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthenticate.java
@@ -160,7 +160,7 @@ public class ProxyAuthenticate extends HttpStringHeader {
        public static class Builder {
 
                private String scheme;
-               private final Map<String,String> params = new LinkedHashMap<>();
+               private final Map<String,String> params = m();
 
                /**
                 * Sets the authentication scheme (e.g. <js>"Basic"</js>, 
<js>"Bearer"</js>, <js>"Digest"</js>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthorization.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthorization.java
index f1b1911e6d..d5b913962c 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthorization.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ProxyAuthorization.java
@@ -167,7 +167,7 @@ public class ProxyAuthorization extends HttpStringHeader {
 
                private String scheme;
                private String token68;
-               private final Map<String,String> params = new LinkedHashMap<>();
+               private final Map<String,String> params = m();
 
                /**
                 * Sets the authentication scheme (e.g. <js>"Basic"</js>, 
<js>"Bearer"</js>, <js>"Digest"</js>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Range.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Range.java
index 38953347fa..e17a9ce705 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Range.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Range.java
@@ -125,7 +125,7 @@ public class Range extends HttpStringHeader {
        public static class Builder {
 
                private String unit = "bytes";
-               private final List<String> specs = new ArrayList<>();
+               private final List<String> specs = l();
 
                /**
                 * Sets the range unit (default <c>bytes</c>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Warning.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Warning.java
index 681cba4b28..fc125e6ca3 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Warning.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Warning.java
@@ -123,7 +123,7 @@ public class Warning extends HttpStringHeader {
         */
        public static class Builder {
 
-               private final List<String> warnings = new ArrayList<>();
+               private final List<String> warnings = l();
 
                /**
                 * Adds a warning-value (without a warn-date).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/WwwAuthenticate.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/WwwAuthenticate.java
index 1ec0d0183b..eac12c803f 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/WwwAuthenticate.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/WwwAuthenticate.java
@@ -160,7 +160,7 @@ public class WwwAuthenticate extends HttpStringHeader {
        public static class Builder {
 
                private String scheme;
-               private final Map<String,String> params = new LinkedHashMap<>();
+               private final Map<String,String> params = m();
 
                /**
                 * Sets the authentication scheme (e.g. <js>"Basic"</js>, 
<js>"Bearer"</js>, <js>"Digest"</js>).
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/remote/RrpcInterfaceMeta.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/remote/RrpcInterfaceMeta.java
index bfe96a8800..4391055a74 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/remote/RrpcInterfaceMeta.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/remote/RrpcInterfaceMeta.java
@@ -126,12 +126,12 @@ public final class RrpcInterfaceMeta {
                                metas.put(m, new RrpcInterfaceMethodMeta(m, 
"POST", buildSignaturePath(m), RemoteReturn.BODY));
                        }
                }
-               this.methodMetas = Collections.unmodifiableMap(metas);
+               this.methodMetas = u(metas);
 
                var byPath = new 
LinkedHashMap<String,RrpcInterfaceMethodMeta>();
                for (var v : metas.values())
                        byPath.put(v.getPath(), v);
-               this.methodMetasByPath = Collections.unmodifiableMap(byPath);
+               this.methodMetasByPath = u(byPath);
        }
 
        private static String buildBasePath(Remote remote) {
@@ -208,7 +208,7 @@ public final class RrpcInterfaceMeta {
                        var vh = remote.versionHeader().isEmpty() ? 
"Client-Version" : VarResolver.DEFAULT.resolve(remote.versionHeader());
                        l.add(Map.entry(vh, version));
                }
-               return Collections.unmodifiableList(l);
+               return u(l);
        }
 
        /**
@@ -234,7 +234,7 @@ public final class RrpcInterfaceMeta {
                        if (i != -1)
                                l.add(Map.entry(s.substring(0, i).trim(), 
s.substring(i + 1).trim()));
                }
-               return Collections.unmodifiableList(l);
+               return u(l);
        }
 
        private static String buildSignaturePath(Method m) {
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
index 5d3931658c..1007568dc9 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
@@ -161,7 +161,7 @@ public class BasicHttpException extends RuntimeException 
implements HttpResponse
 
        @Override /* HttpResponseMessage */
        public List<HttpHeader> getHeaders() {
-               return Collections.unmodifiableList(headers);
+               return u(headers);
        }
 
        @Override /* HttpResponseMessage */
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
index a88e5fe99d..2cf3f58bf4 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
@@ -136,7 +136,7 @@ public abstract class BasicHttpResponse<SELF extends 
BasicHttpResponse<SELF>> im
 
        @Override /* HttpResponseMessage */
        public List<HttpHeader> getHeaders() {
-               return Collections.unmodifiableList(headers);
+               return u(headers);
        }
 
        @Override /* HttpResponseMessage */
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpTransport.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpTransport.java
index 390884039e..93ef46563e 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpTransport.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpTransport.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.mock;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.io.*;
 import java.nio.charset.*;
@@ -142,7 +143,7 @@ public final class MockHttpTransport implements 
HttpTransport {
         * @return The recorded requests. Empty if recording is disabled.
         */
        public List<TransportRequest> getRecordedRequests() {
-               return recordedRequests != null ? 
Collections.unmodifiableList(recordedRequests) : List.of();
+               return recordedRequests != null ? u(recordedRequests) : 
List.of();
        }
 
        /**
@@ -170,7 +171,7 @@ public final class MockHttpTransport implements 
HttpTransport {
         */
        public static final class Builder {
 
-               final List<Route> routes = new ArrayList<>();
+               final List<Route> routes = l();
                RequestHandler fallback;
                boolean recordRequests;
 
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 2bf6d4b726..2494fcb018 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
@@ -16,6 +16,7 @@
  */
 package org.apache.juneau.rest.mock;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
 import static org.apache.juneau.marshall.Enablement.*;
 import static org.apache.juneau.rest.server.util.RestUtils.*;
 
@@ -307,7 +308,7 @@ public final class MockRestClient implements Closeable {
 
                                return new MockRestClient(ngClient);
                        } catch (Exception e) {
-                               throw new RuntimeException("Could not 
initialize MockRestClient", e);
+                               throw rex(e, "Could not initialize 
MockRestClient");
                        }
                }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-jwt/src/main/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator.java
 
b/juneau-rest/juneau-rest-server-auth-jwt/src/main/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator.java
index cb0d40c078..3f08a32607 100644
--- 
a/juneau-rest/juneau-rest-server-auth-jwt/src/main/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator.java
+++ 
b/juneau-rest/juneau-rest-server-auth-jwt/src/main/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator.java
@@ -243,7 +243,7 @@ public class JwtTokenValidator implements TokenValidator {
                        assertArgNotNull("values", values);
                        if (values.length == 0)
                                throw iaex("algorithms allowlist must be 
non-empty");
-                       Set<JWSAlgorithm> next = new LinkedHashSet<>();
+                       Set<JWSAlgorithm> next = st();
                        for (var a : values) {
                                assertArgNotNull("algorithm", a);
                                if (Algorithm.NONE.equals(a))
@@ -379,7 +379,7 @@ public class JwtTokenValidator implements TokenValidator {
        protected JwtTokenValidator(Builder builder) {
                this.issuer = builder.issuer;
                this.audience = builder.audience;
-               this.algorithms = Collections.unmodifiableSet(new 
LinkedHashSet<>(builder.algorithms));
+               this.algorithms = u(cp(builder.algorithms));
                this.clockSkew = builder.clockSkew;
                this.clock = builder.clock;
                this.jwkSource = builder.jwkSource != null
@@ -507,7 +507,7 @@ public class JwtTokenValidator implements TokenValidator {
                try {
                        return JWKSourceBuilder.create(jwksUrl.toURL()).build();
                } catch (MalformedURLException e) {
-                       throw new IllegalArgumentException("Invalid JWKS URL: " 
+ jwksUrl, e);
+                       throw iaex(e, "Invalid JWKS URL: %s", jwksUrl);
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthIntrospectionValidator.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthIntrospectionValidator.java
index 462a75dfc4..7cdebb7bd2 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthIntrospectionValidator.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthIntrospectionValidator.java
@@ -100,7 +100,7 @@ public class OAuthIntrospectionValidator implements 
TokenValidator {
                private Supplier<String> clientSecretSupplier;
                private TokenCache tokenCache;
                private Duration cacheTtl = DEFAULT_CACHE_TTL;
-               private Set<String> requiredScopes = new LinkedHashSet<>();
+               private Set<String> requiredScopes = st();
                private Clock clock = Clock.systemUTC();
                private Consumer<HTTPRequest> httpRequestConfigurator;
 
@@ -267,7 +267,7 @@ public class OAuthIntrospectionValidator implements 
TokenValidator {
                this.clientSecretSupplier = b.clientSecretSupplier;
                this.tokenCache = b.tokenCache;
                this.cacheTtl = b.cacheTtl;
-               this.requiredScopes = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.requiredScopes));
+               this.requiredScopes = u(cp(b.requiredScopes));
                this.clock = b.clock;
                this.httpRequestConfigurator = b.httpRequestConfigurator;
        }
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthToken.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthToken.java
index f32dbbc45b..33b1a5d470 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthToken.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/OAuthToken.java
@@ -51,7 +51,7 @@ public record OAuthToken(
                Objects.requireNonNull(refreshToken, "refreshToken");
                Objects.requireNonNull(scope, "scope");
                Objects.requireNonNull(idToken, "idToken");
-               scope = scope.map(s -> Collections.unmodifiableSet(new 
LinkedHashSet<>(s)));
+               scope = scope.map(s -> u(cp(s)));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthAuthorizationCodeFlow.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthAuthorizationCodeFlow.java
index 23abaf208e..d17fa9319b 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthAuthorizationCodeFlow.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthAuthorizationCodeFlow.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.auth.oauth.flow;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.net.*;
 import java.util.*;
@@ -88,7 +89,7 @@ public class OAuthAuthorizationCodeFlow {
                private String clientId;
                private Supplier<String> clientSecretSupplier;
                private URI redirectUri;
-               private Set<String> scopes = new LinkedHashSet<>();
+               private Set<String> scopes = st();
                private Consumer<HTTPRequest> httpRequestConfigurator;
 
                /** Constructor. */
@@ -224,7 +225,7 @@ public class OAuthAuthorizationCodeFlow {
                this.clientId = b.clientId;
                this.clientSecretSupplier = b.clientSecretSupplier;
                this.redirectUri = b.redirectUri;
-               this.scopes = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.scopes));
+               this.scopes = u(cp(b.scopes));
                this.httpRequestConfigurator = b.httpRequestConfigurator;
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthClientCredentialsFlow.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthClientCredentialsFlow.java
index 0fefbb24ad..ae00607a89 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthClientCredentialsFlow.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthClientCredentialsFlow.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.auth.oauth.flow;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.net.*;
 import java.time.*;
@@ -78,7 +79,7 @@ public class OAuthClientCredentialsFlow {
                private URI tokenEndpoint;
                private String clientId;
                private Supplier<String> clientSecretSupplier;
-               private Set<String> scopes = new LinkedHashSet<>();
+               private Set<String> scopes = st();
                private TokenCache tokenCache;
                private Duration cacheSkew = Duration.ofSeconds(30);
                private Consumer<HTTPRequest> httpRequestConfigurator;
@@ -216,7 +217,7 @@ public class OAuthClientCredentialsFlow {
                this.tokenEndpoint = b.tokenEndpoint;
                this.clientId = b.clientId;
                this.clientSecretSupplier = b.clientSecretSupplier;
-               this.scopes = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.scopes));
+               this.scopes = u(cp(b.scopes));
                this.tokenCache = b.tokenCache;
                this.cacheSkew = b.cacheSkew;
                this.httpRequestConfigurator = b.httpRequestConfigurator;
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthRefreshTokenFlow.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthRefreshTokenFlow.java
index bf84328ef0..df64d5e1e4 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthRefreshTokenFlow.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthRefreshTokenFlow.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.auth.oauth.flow;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.net.*;
 import java.util.*;
@@ -61,7 +62,7 @@ public class OAuthRefreshTokenFlow {
                private String clientId;
                private Supplier<String> clientSecretSupplier;
                private String refreshToken;
-               private Set<String> scopes = new LinkedHashSet<>();
+               private Set<String> scopes = st();
                private Consumer<HTTPRequest> httpRequestConfigurator;
 
                /** Constructor. */
@@ -182,7 +183,7 @@ public class OAuthRefreshTokenFlow {
                this.clientId = b.clientId;
                this.clientSecretSupplier = b.clientSecretSupplier;
                this.refreshToken = b.refreshToken;
-               this.scopes = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.scopes));
+               this.scopes = u(cp(b.scopes));
                this.httpRequestConfigurator = b.httpRequestConfigurator;
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthResourceOwnerFlow.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthResourceOwnerFlow.java
index db53a92e74..de091a780d 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthResourceOwnerFlow.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/flow/OAuthResourceOwnerFlow.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.auth.oauth.flow;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.net.*;
 import java.util.*;
@@ -73,7 +74,7 @@ public class OAuthResourceOwnerFlow {
                private Supplier<String> clientSecretSupplier;
                private String username;
                private Supplier<String> passwordSupplier;
-               private Set<String> scopes = new LinkedHashSet<>();
+               private Set<String> scopes = st();
                private Consumer<HTTPRequest> httpRequestConfigurator;
 
                /** Constructor. */
@@ -235,7 +236,7 @@ public class OAuthResourceOwnerFlow {
                this.clientSecretSupplier = b.clientSecretSupplier;
                this.username = b.username;
                this.passwordSupplier = b.passwordSupplier;
-               this.scopes = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.scopes));
+               this.scopes = u(cp(b.scopes));
                this.httpRequestConfigurator = b.httpRequestConfigurator;
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/oidc/OidcMetadata.java
 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/oidc/OidcMetadata.java
index ca8afea72e..f7128d9976 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/oidc/OidcMetadata.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oauth/src/main/java/org/apache/juneau/rest/server/auth/oauth/oidc/OidcMetadata.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.server.auth.oauth.oidc;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.net.*;
 import java.util.*;
 
@@ -57,9 +59,9 @@ public record OidcMetadata(
                Objects.requireNonNull(issuer, "issuer");
                supportedScopes = supportedScopes == null
                        ? Collections.emptySet()
-                       : Collections.unmodifiableSet(new 
LinkedHashSet<>(supportedScopes));
+                       : u(cp(supportedScopes));
                extras = extras == null
                        ? Collections.emptyMap()
-                       : Collections.unmodifiableMap(new 
LinkedHashMap<>(extras));
+                       : u(cp(extras));
        }
 }
diff --git 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/IdTokenValidatorAdapter.java
 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/IdTokenValidatorAdapter.java
index fc03443a4a..75ea0f4acc 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/IdTokenValidatorAdapter.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/IdTokenValidatorAdapter.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.auth.oidc.rp;
 
 import static org.apache.juneau.commons.utils.AssertionUtils.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.net.*;
 import java.text.*;
@@ -219,7 +220,7 @@ public class IdTokenValidatorAdapter {
                try {
                        return 
JWKSourceBuilder.create(b.jwksUri.toURL()).build();
                } catch (MalformedURLException e) {
-                       throw new IllegalArgumentException("Invalid JWKS URI: " 
+ b.jwksUri, e);
+                       throw iaex(e, "Invalid JWKS URI: %s", b.jwksUri);
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/InMemorySessionStore.java
 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/InMemorySessionStore.java
index 6a6a54d298..a4d22c97c9 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/InMemorySessionStore.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/InMemorySessionStore.java
@@ -67,8 +67,8 @@ public class InMemorySessionStore implements SessionStore {
        private final int maxEntries;
        private final Clock clock;
        private final Map<String,OidcSession> byId;
-       private final Map<String,Set<String>> bySubject = new HashMap<>();
-       private final Map<String,Set<String>> bySid = new HashMap<>();
+       private final Map<String,Set<String>> bySubject = m();
+       private final Map<String,Set<String>> bySid = m();
        private final Object lock = new Object();
 
        /**
@@ -99,8 +99,8 @@ public class InMemorySessionStore implements SessionStore {
                assertArgNotNull("session", session);
                synchronized (lock) {
                        byId.put(session.id(), session);
-                       bySubject.computeIfAbsent(session.subject(), k -> new 
HashSet<>()).add(session.id());
-                       session.sid().ifPresent(sid -> 
bySid.computeIfAbsent(sid, k -> new HashSet<>()).add(session.id()));
+                       bySubject.computeIfAbsent(session.subject(), k -> 
st()).add(session.id());
+                       session.sid().ifPresent(sid -> 
bySid.computeIfAbsent(sid, k -> st()).add(session.id()));
                }
                return session.id();
        }
diff --git 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcRelyingParty.java
 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcRelyingParty.java
index 6138659bac..378a7d8472 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcRelyingParty.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcRelyingParty.java
@@ -142,7 +142,7 @@ public class OidcRelyingParty {
                URI redirectUri;
                URI postLogoutRedirectUri;
                String postLoginRedirect = "/";
-               Set<String> scopes = new LinkedHashSet<>();
+               Set<String> scopes = st();
                SessionStore sessionStore;
                String rolesClaim = DEFAULT_ROLES_CLAIM;
                Duration stateNonceTtl = EphemeralStore.DEFAULT_TTL;
@@ -158,7 +158,7 @@ public class OidcRelyingParty {
                int clockSkewSeconds = 60;
                JWKSet jwkSet;
                JWKSource<SecurityContext> jwkSource;
-               Set<String> userInfoClaims = new LinkedHashSet<>();
+               Set<String> userInfoClaims = st();
                Clock clock = Clock.systemUTC();
 
                /** Constructor. */
@@ -543,7 +543,7 @@ public class OidcRelyingParty {
                var s = new LinkedHashSet<String>();
                s.add("openid");
                s.addAll(b.scopes);
-               this.scopes = Collections.unmodifiableSet(s);
+               this.scopes = u(s);
                this.sessionStore = b.sessionStore;
                this.rolesClaim = b.rolesClaim;
                this.sessionTtl = b.sessionTtl;
@@ -557,7 +557,7 @@ public class OidcRelyingParty {
                this.clockSkewSeconds = b.clockSkewSeconds;
                this.jwkSet = b.jwkSet;
                this.injectedJwkSource = b.jwkSource;
-               this.userInfoClaims = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.userInfoClaims));
+               this.userInfoClaims = u(cp(b.userInfoClaims));
                this.clock = b.clock;
                this.ephemeralStore = new EphemeralStore(b.stateNonceTtl, 
b.ephemeralMaxEntries, b.clock);
        }
@@ -851,7 +851,7 @@ public class OidcRelyingParty {
                                        
clientBuilder.httpRequestConfigurator(httpRequestConfigurator);
                                metadataCache = 
clientBuilder.build().discover();
                        } catch (IOException | OidcDiscoveryException e) {
-                               throw new IllegalStateException("OIDC discovery 
failed for issuer " + issuer, e);
+                               throw isex(e, "OIDC discovery failed for issuer 
%s", issuer);
                        }
                        return metadataCache;
                }
@@ -914,7 +914,7 @@ public class OidcRelyingParty {
                                try {
                                        jwkSourceCache = 
JWKSourceBuilder.create(metadata().jwksUri().toURL()).build();
                                } catch (MalformedURLException e) {
-                                       throw new 
IllegalStateException("Invalid JWKS URI: " + metadata().jwksUri(), e);
+                                       throw isex(e, "Invalid JWKS URI: %s", 
metadata().jwksUri());
                                }
                        }
                        return jwkSourceCache;
diff --git 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcSession.java
 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcSession.java
index 3604c617e8..f3643d22cd 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcSession.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/OidcSession.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.server.auth.oidc.rp;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.time.*;
 import java.util.*;
 
@@ -75,7 +77,7 @@ public record OidcSession(
                Objects.requireNonNull(expiresAt, "expiresAt");
                roles = roles == null
                        ? Collections.emptySet()
-                       : Collections.unmodifiableSet(new 
LinkedHashSet<>(roles));
+                       : u(cp(roles));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/SignedCookieSessionStore.java
 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/SignedCookieSessionStore.java
index 6986e0d9e8..5a8567c125 100644
--- 
a/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/SignedCookieSessionStore.java
+++ 
b/juneau-rest/juneau-rest-server-auth-oidc-rp/src/main/java/org/apache/juneau/rest/server/auth/oidc/rp/SignedCookieSessionStore.java
@@ -181,7 +181,7 @@ public class SignedCookieSessionStore implements 
SessionStore {
                                throw isex("Signed session cookie exceeds 
maxCookieBytes (%s); reduce the claim set or switch to a server-side 
SessionStore.", maxCookieBytes);
                        return serialized;
                } catch (JOSEException e) {
-                       throw new IllegalStateException("Failed to sign session 
cookie", e);
+                       throw isex(e, "Failed to sign session cookie");
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/OpenSamlBootstrap.java
 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/OpenSamlBootstrap.java
index 9f8ce9e75e..27e04decd8 100644
--- 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/OpenSamlBootstrap.java
+++ 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/OpenSamlBootstrap.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.server.auth.saml;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import org.opensaml.core.config.*;
 
 /**
@@ -51,7 +53,7 @@ final class OpenSamlBootstrap {
                                InitializationService.initialize();
                                initialized = true;
                        } catch (Exception e) {
-                               throw new IllegalStateException("OpenSAML 
initialization failed", e);
+                               throw isex(e, "OpenSAML initialization failed");
                        }
                }
        }
diff --git 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAssertionValidator.java
 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAssertionValidator.java
index e2cacc5af3..26761a996f 100644
--- 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAssertionValidator.java
+++ 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAssertionValidator.java
@@ -300,7 +300,7 @@ public class SamlAssertionValidator {
                this.decryptionCredential = b.decryptionCredential;
                this.spEntityId = b.spEntityId;
                this.expectedIssuer = b.expectedIssuer;
-               this.algorithms = Collections.unmodifiableSet(new 
LinkedHashSet<>(b.algorithms));
+               this.algorithms = u(cp(b.algorithms));
                this.clockSkew = b.clockSkew;
                this.clock = b.clock;
        }
@@ -538,7 +538,7 @@ public class SamlAssertionValidator {
                                var name = attr.getName();
                                if (name == null)
                                        continue;
-                               var values = new ArrayList<>();
+                               var values = l();
                                for (var av : attr.getAttributeValues())
                                        values.add(extractStringValue(av));
                                if (values.size() == 1)
diff --git 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAuthFilter.java
 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAuthFilter.java
index 89251eb6f8..9e3bfda712 100644
--- 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAuthFilter.java
+++ 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlAuthFilter.java
@@ -250,7 +250,7 @@ public class SamlAuthFilter extends AuthFilter {
                                out.write(buf, 0, n);
                        }
                } catch (DataFormatException e) {
-                       throw new IOException("SAMLResponse: malformed 
DEFLATE", e);
+                       throw ioex(e, "SAMLResponse: malformed DEFLATE");
                } finally {
                        inflater.end();
                }
diff --git 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlMetadataResolvers.java
 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlMetadataResolvers.java
index f42f91d8b8..f28c221344 100644
--- 
a/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlMetadataResolvers.java
+++ 
b/juneau-rest/juneau-rest-server-auth-saml/src/main/java/org/apache/juneau/rest/server/auth/saml/SamlMetadataResolvers.java
@@ -92,7 +92,7 @@ public final class SamlMetadataResolvers {
                        resolver.initialize();
                        return resolver;
                } catch (ComponentInitializationException | ResolverException 
e) {
-                       throw new IOException("Failed to initialize 
FilesystemMetadataResolver for " + file, e);
+                       throw ioex(e, "Failed to initialize 
FilesystemMetadataResolver for %s", file);
                }
        }
 
@@ -144,10 +144,10 @@ public final class SamlMetadataResolvers {
                        return resolver;
                } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
-                       throw new IOException("Interrupted while fetching SAML 
metadata from " + url, e);
+                       throw ioex(e, "Interrupted while fetching SAML metadata 
from %s", url);
                } catch (ComponentInitializationException | 
javax.xml.parsers.ParserConfigurationException
                                | org.xml.sax.SAXException e) {
-                       throw new IOException("Failed to initialize 
DOMMetadataResolver for " + url, e);
+                       throw ioex(e, "Failed to initialize DOMMetadataResolver 
for %s", url);
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpServerConfig.java
 
b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpServerConfig.java
index 58d08bbd79..05cad063a8 100644
--- 
a/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpServerConfig.java
+++ 
b/juneau-rest/juneau-rest-server-mcp/src/main/java/org/apache/juneau/rest/server/mcp/McpServerConfig.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.server.mcp;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import java.util.*;
 
 import org.apache.juneau.bean.mcp.*;
@@ -33,9 +35,9 @@ public class McpServerConfig {
        private Implementation serverInfo;
        private String protocolVersion = McpProtocol.VERSION_2025_06_18;
        private String instructions;
-       private List<McpToolHandler> tools = new ArrayList<>();
-       private List<McpPromptHandler> prompts = new ArrayList<>();
-       private List<McpResourceHandler> resources = new ArrayList<>();
+       private List<McpToolHandler> tools = l();
+       private List<McpPromptHandler> prompts = l();
+       private List<McpResourceHandler> resources = l();
        private ServerCapabilities capabilities;
        private McpCursor cursor = McpCursor.SINGLE_PAGE;
 
@@ -118,7 +120,7 @@ public class McpServerConfig {
         * @return This object (for method chaining).
         */
        public McpServerConfig setTools(List<McpToolHandler> tools) {
-               this.tools = tools == null ? new ArrayList<>() : new 
ArrayList<>(tools);
+               this.tools = tools == null ? l() : new ArrayList<>(tools);
                return this;
        }
 
@@ -149,7 +151,7 @@ public class McpServerConfig {
         * @return This object (for method chaining).
         */
        public McpServerConfig setPrompts(List<McpPromptHandler> prompts) {
-               this.prompts = prompts == null ? new ArrayList<>() : new 
ArrayList<>(prompts);
+               this.prompts = prompts == null ? l() : new ArrayList<>(prompts);
                return this;
        }
 
@@ -180,7 +182,7 @@ public class McpServerConfig {
         * @return This object (for method chaining).
         */
        public McpServerConfig setResources(List<McpResourceHandler> resources) 
{
-               this.resources = resources == null ? new ArrayList<>() : new 
ArrayList<>(resources);
+               this.resources = resources == null ? l() : new 
ArrayList<>(resources);
                return this;
        }
 
diff --git 
a/juneau-rest/juneau-rest-server-metrics-micrometer/src/main/java/org/apache/juneau/rest/server/metrics/micrometer/MetricsManager.java
 
b/juneau-rest/juneau-rest-server-metrics-micrometer/src/main/java/org/apache/juneau/rest/server/metrics/micrometer/MetricsManager.java
index 64c13d14c3..7a41669392 100644
--- 
a/juneau-rest/juneau-rest-server-metrics-micrometer/src/main/java/org/apache/juneau/rest/server/metrics/micrometer/MetricsManager.java
+++ 
b/juneau-rest/juneau-rest-server-metrics-micrometer/src/main/java/org/apache/juneau/rest/server/metrics/micrometer/MetricsManager.java
@@ -16,6 +16,8 @@
  */
 package org.apache.juneau.rest.server.metrics.micrometer;
 
+import static org.apache.juneau.commons.utils.Shorts.*;
+
 import org.apache.juneau.rest.server.*;
 
 import io.micrometer.core.instrument.*;
@@ -81,7 +83,7 @@ public class MetricsManager {
                } catch (@SuppressWarnings("unused") NoSuchMethodException e) {
                        return null;  // Not a scrapeable (Prometheus) registry 
— caller degrades to 501.
                } catch (ReflectiveOperationException e) {
-                       throw new RuntimeException("Failed to scrape 
MeterRegistry " + registry.getClass().getName(), e);
+                       throw rex(e, "Failed to scrape MeterRegistry %s", 
registry.getClass().getName());
                }
        }
 }
diff --git 
a/juneau-rest/juneau-rest-server-reactive/src/main/java/org/apache/juneau/rest/server/reactive/ReactiveResponseProcessor.java
 
b/juneau-rest/juneau-rest-server-reactive/src/main/java/org/apache/juneau/rest/server/reactive/ReactiveResponseProcessor.java
index 0637f74947..ec56cbe18c 100644
--- 
a/juneau-rest/juneau-rest-server-reactive/src/main/java/org/apache/juneau/rest/server/reactive/ReactiveResponseProcessor.java
+++ 
b/juneau-rest/juneau-rest-server-reactive/src/main/java/org/apache/juneau/rest/server/reactive/ReactiveResponseProcessor.java
@@ -17,6 +17,7 @@
 package org.apache.juneau.rest.server.reactive;
 
 import static jakarta.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.commons.utils.Shorts.*;
 
 import java.io.*;
 import java.util.*;
@@ -385,7 +386,7 @@ public class ReactiveResponseProcessor implements 
ResponseProcessor {
        /** Collects all emitted elements into a list and completes the 
supplied future (buffer shape). */
        private static final class CollectingSubscriber implements 
Flow.Subscriber<Object> {
                private final CompletableFuture<List<Object>> cf;
-               private final List<Object> items = new ArrayList<>();
+               private final List<Object> items = l();
 
                CollectingSubscriber(CompletableFuture<List<Object>> cf) {
                        this.cf = cf;
@@ -462,7 +463,7 @@ public class ReactiveResponseProcessor implements 
ResponseProcessor {
                                res.flushBuffer();
                                wrote = true;
                        } catch (IOException | SerializeException e) {
-                               throw new IllegalStateException(e);
+                               throw isex(e);
                        }
                }
 

Reply via email to