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 4fe56a4a40 org.apache.juneau.common.reflect API improvements
4fe56a4a40 is described below

commit 4fe56a4a404daba9ca69dd6896ccdf9db7928aba
Author: James Bognar <[email protected]>
AuthorDate: Tue Nov 18 10:30:24 2025 -0500

    org.apache.juneau.common.reflect API improvements
---
 .../juneau/common/reflect/ReflectionMap.java       |  47 +++-
 .../src/main/java/org/apache/juneau/Context.java   |   2 -
 .../org/apache/juneau/csv/CsvMetaProvider.java     |   1 -
 .../org/apache/juneau/html/HtmlMetaProvider.java   |   1 -
 .../juneau/httppart/bean/MethodInfoUtils.java      |   2 -
 .../org/apache/juneau/json/JsonMetaProvider.java   |   1 -
 .../juneau/jsonschema/JsonSchemaMetaProvider.java  |   1 -
 .../apache/juneau/msgpack/MsgPackMetaProvider.java |   1 -
 .../apache/juneau/oapi/OpenApiMetaProvider.java    |   1 -
 .../juneau/plaintext/PlainTextMetaProvider.java    |   1 -
 .../apache/juneau/soap/SoapXmlMetaProvider.java    |   1 -
 .../org/apache/juneau/uon/UonMetaProvider.java     |   1 -
 .../urlencoding/UrlEncodingMetaProvider.java       |   1 -
 .../org/apache/juneau/xml/XmlMetaProvider.java     |   1 -
 .../rest/client/remote/RemoteOperationMeta.java    |   1 -
 .../src/test/java/DefaultPackageTestClass.java     |  33 +--
 .../org/apache/juneau/annotation/Bean_Test.java    |   1 -
 .../juneau/common/reflect/AnnotationInfoTest.java  |   2 -
 .../juneau/common/reflect/ParamInfoTest.java       |   1 -
 .../juneau/common/reflect/ReflectionMap_Test.java  | 261 +++++++++++++++++++--
 .../juneau/csv/annotation/CsvConfig_Test.java      |   1 -
 .../juneau/html/HtmlConfigAnnotation_Test.java     |   1 -
 .../juneau/json/JsonConfigAnnotationTest.java      |   1 -
 .../juneau/jsonschema/JsonSchemaGeneratorTest.java |   2 -
 .../msgpack/MsgPackConfigAnnotationTest.java       |   1 -
 .../juneau/oapi/OpenApiConfigAnnotation_Test.java  |   2 -
 .../juneau/parser/ParserConfigAnnotationTest.java  |   1 -
 .../plaintext/PlainTextConfigAnnotation_Test.java  |   1 -
 .../client/RestClient_Config_Context_Test.java     |   2 -
 .../serializer/SerializerConfigAnnotationTest.java |   1 -
 .../juneau/soap/SoapXmlConfigAnnotationTest.java   |   1 -
 .../apache/juneau/uon/UonConfigAnnotationTest.java |   1 -
 .../UrlEncodingConfigAnnotationTest.java           |   1 -
 .../apache/juneau/xml/XmlConfigAnnotationTest.java |   1 -
 34 files changed, 277 insertions(+), 101 deletions(-)

diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ReflectionMap.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ReflectionMap.java
index 21a93795fb..4cf6cacc03 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ReflectionMap.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/reflect/ReflectionMap.java
@@ -208,11 +208,11 @@ public class ReflectionMap<V> {
                        classEntries = list();
                        methodEntries = list();
                        fieldEntries = list();
-               constructorEntries = list();
-       }
+                       constructorEntries = list();
+               }
 
-       /**
-        * Adds one or more mappings to this builder.
+               /**
+                * Adds one or more mappings to this builder.
                 *
                 * <p>
                 * This method accepts pattern strings that identify classes, 
methods, fields, or constructors,
@@ -292,9 +292,9 @@ public class ReflectionMap<V> {
                 *
                 * @return A new immutable {@link ReflectionMap} instance.
                 */
-       public ReflectionMap<V> build() {
-               return new ReflectionMap<>(this);
-       }
+               public ReflectionMap<V> build() {
+                       return new ReflectionMap<>(this);
+               }
        }
 
        private static class ClassEntry<V> {
@@ -332,7 +332,11 @@ public class ReflectionMap<V> {
 
                ConstructorEntry(String name, V value) {
                        int i = name.indexOf('(');
-                       this.args = splita(name.substring(i + 1, name.length() 
- 1));
+                       this.args = splitMethodArgs(name.substring(i + 1, 
name.length() - 1));
+                       for (int j = 0; j < args.length; j++) {
+                               // Strip off generic parameters (e.g., 
"List<String>[]" -> "List[]")
+                               args[j] = stripGenerics(args[j]);
+                       }
                        name = name.substring(0, i).trim();
                        this.simpleClassName = simpleClassName(name);
                        this.fullClassName = name;
@@ -404,10 +408,8 @@ public class ReflectionMap<V> {
                        this.args = i == -1 ? null : 
splitMethodArgs(name.substring(i + 1, name.length() - 1));
                        if (nn(args)) {
                                for (int j = 0; j < args.length; j++) {
-                                       // Strip off generic parameters.
-                                       int k = args[j].indexOf('<');
-                                       if (k > 0)
-                                               args[j] = args[j].substring(0, 
k);
+                                       // Strip off generic parameters (e.g., 
"List<String>[]" -> "List[]")
+                                       args[j] = stripGenerics(args[j]);
                                }
                        }
                        name = i == -1 ? name : name.substring(0, i);
@@ -508,6 +510,24 @@ public class ReflectionMap<V> {
                return eq(patternBase, typeBase.getSimpleName()) || 
eq(patternBase, typeBase.getName());
        }
 
+       private static String stripGenerics(String type) {
+               if (type.indexOf('<') == -1)
+                       return type;
+               var sb = new StringBuilder(type.length());
+               int depth = 0;
+               for (int i = 0; i < type.length(); i++) {
+                       char c = type.charAt(i);
+                       if (c == '<') {
+                               depth++;
+                       } else if (c == '>') {
+                               depth--;
+                       } else if (depth == 0) {
+                               sb.append(c);
+                       }
+               }
+               return sb.toString();
+       }
+
        private static boolean classMatches(String simpleName, String fullName, 
Class<?> c) {
                // For class 
org.apache.juneau.a.rttests.RountTripBeansWithBuilders$Ac$Builder
                // c.getSimpleName() == "Builder"
@@ -538,6 +558,9 @@ public class ReflectionMap<V> {
                int i = name.indexOf('.');
                if (i == -1)
                        return name;
+               // Return null for fully qualified names to ensure they only 
match by fullName, not by simpleName.
+               // This prevents ambiguous matches where a simple name pattern 
might accidentally match
+               // a fully qualified pattern's simple part.
                return null;
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
index d373873594..2922d9ec87 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
@@ -26,8 +26,6 @@ import java.lang.reflect.*;
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.function.*;
-import java.util.stream.*;
-
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
 import org.apache.juneau.common.collections.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
index 6b6bf2f27b..4973396bb4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.csv;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link CsvClassMeta} and {@link 
CsvBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlMetaProvider.java
index 60aefdd399..1eaeda83a3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.html;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link HtmlClassMeta} and {@link 
HtmlBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/MethodInfoUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/MethodInfoUtils.java
index 3a1b986406..eb3254a334 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/MethodInfoUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/MethodInfoUtils.java
@@ -19,8 +19,6 @@ package org.apache.juneau.httppart.bean;
 import static org.apache.juneau.common.utils.Utils.*;
 
 import java.lang.annotation.*;
-import java.util.*;
-
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.common.reflect.*;
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonMetaProvider.java
index a495feffd0..d341858354 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.json;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link JsonClassMeta} and {@link 
JsonBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaMetaProvider.java
index 6d7f9efcc9..a531dd1ba2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.jsonschema;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link JsonSchemaClassMeta} and {@link 
JsonSchemaBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackMetaProvider.java
index 99cb096fba..259b9092d3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.msgpack;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link MsgPackClassMeta} and {@link 
MsgPackBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiMetaProvider.java
index 797d6cd4c7..8c9db9a5dc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.oapi;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link OpenApiClassMeta} and {@link 
OpenApiBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextMetaProvider.java
index 938c4b20e3..7f4c36f3ea 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.plaintext;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link PlainTextClassMeta} and {@link 
PlainTextBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlMetaProvider.java
index 5b20e8c4a2..4b2db17b33 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.soap;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link SoapXmlClassMeta} and {@link 
SoapXmlBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonMetaProvider.java
index e0758a59de..3123fb4466 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.uon;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link UonClassMeta} and {@link 
UonBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingMetaProvider.java
index 13506821e7..4fff0bd093 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.urlencoding;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link UrlEncodingClassMeta} and {@link 
UrlEncodingBeanPropertyMeta} objects.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlMetaProvider.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlMetaProvider.java
index 82361c653f..97e99d1986 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlMetaProvider.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlMetaProvider.java
@@ -17,7 +17,6 @@
 package org.apache.juneau.xml;
 
 import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
 
 /**
  * Interface for providing access to {@link XmlClassMeta}, {@link 
XmlBeanMeta}, and {@link XmlBeanPropertyMeta} objects.
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
index 99777d3ac1..9808de8688 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationMeta.java
@@ -18,7 +18,6 @@ package org.apache.juneau.rest.client.remote;
 
 import static org.apache.juneau.Constants.*;
 import static org.apache.juneau.common.utils.CollectionUtils.*;
-import static org.apache.juneau.common.utils.PredicateUtils.*;
 import static org.apache.juneau.common.utils.StringUtils.*;
 import static org.apache.juneau.common.utils.Utils.*;
 import static org.apache.juneau.http.remote.RemoteUtils.*;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
 b/juneau-utest/src/test/java/DefaultPackageTestClass.java
similarity index 51%
copy from 
juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
copy to juneau-utest/src/test/java/DefaultPackageTestClass.java
index 6b6bf2f27b..e4ef971c8d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvMetaProvider.java
+++ b/juneau-utest/src/test/java/DefaultPackageTestClass.java
@@ -14,32 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juneau.csv;
 
-import org.apache.juneau.*;
-import org.apache.juneau.common.reflect.*;
+// This class is intentionally in the default package to test line 588 false 
branch
+// where a class has $ (is an inner class) but has no package
 
-/**
- * Interface for providing access to {@link CsvClassMeta} and {@link 
CsvBeanPropertyMeta} objects.
- *
- * <h5 class='section'>See Also:</h5><ul>
- * </ul>
- */
-public interface CsvMetaProvider {
-
-       /**
-        * Returns the language-specific metadata on the specified bean 
property.
-        *
-        * @param bpm The bean property to return the metadata on.
-        * @return The metadata.
-        */
-       CsvBeanPropertyMeta getCsvBeanPropertyMeta(BeanPropertyMeta bpm);
+public class DefaultPackageTestClass {
+       public static class InnerClass {
+               public static class NestedInner {}
+       }
+}
 
-       /**
-        * Returns the language-specific metadata on the specified class.
-        *
-        * @param cm The class to return the metadata on.
-        * @return The metadata.
-        */
-       CsvClassMeta getCsvClassMeta(ClassMeta<?> cm);
-}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
index 3447567e3f..f7f6bda985 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
@@ -25,7 +25,6 @@ import org.apache.juneau.marshaller.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 class Bean_Test extends TestBase {
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/AnnotationInfoTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/AnnotationInfoTest.java
index d6ac0e591a..b92461028d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/AnnotationInfoTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/AnnotationInfoTest.java
@@ -22,8 +22,6 @@ import static 
org.apache.juneau.common.utils.CollectionUtils.*;
 import static org.apache.juneau.junit.bct.BctAssertions.*;
 
 import java.lang.annotation.*;
-import java.util.stream.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.common.annotation.*;
 import org.junit.jupiter.api.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ParamInfoTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ParamInfoTest.java
index 9b66cce114..b305bd8225 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ParamInfoTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ParamInfoTest.java
@@ -28,7 +28,6 @@ import java.util.function.*;
 import java.util.stream.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
 import org.junit.jupiter.api.*;
 
 import org.apache.juneau.annotation.Name;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ReflectionMap_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ReflectionMap_Test.java
index ed04d35464..574e2d2e41 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ReflectionMap_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/common/reflect/ReflectionMap_Test.java
@@ -21,6 +21,7 @@ import static org.apache.juneau.junit.bct.BctAssertions.*;
 import static org.junit.jupiter.api.Assertions.*;
 
 import java.lang.reflect.*;
+import java.util.*;
 
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
@@ -48,10 +49,12 @@ class ReflectionMap_Test extends TestBase {
                static class A1 {}
                static class A2 {}
 
+               // @formatter:off
                static ReflectionMap<Number>
                        A1_SIMPLE = create().append("A1", 1).build(),
                        A1b_SIMPLE = 
create().append("ReflectionMap_Test$A_Class$A1", 1).build(),
                        A1_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$A_Class$A1",
 1).build();  // Note this could be a static field.
+               // @formatter:on
 
                @Test void a01_checkEntries() {
                        checkEntries(A1_SIMPLE, true, false, false, false);
@@ -89,6 +92,94 @@ class ReflectionMap_Test extends TestBase {
                        test(A2.class, false, false, false);
                        test(null, false, false, false);
                }
+
+               // Test for wildcard matching (line 584)
+               @Test void a03_wildcardMatching() {
+                       var rm = create().append("*", 1).build();
+                       assertTrue(rm.find(A1.class).findAny().isPresent());
+                       assertTrue(rm.find(A2.class).findAny().isPresent());
+                       assertTrue(rm.find(String.class).findAny().isPresent());
+               }
+
+               // Test for inner class matching (lines 586, 588, 595-596)
+               static class OuterClass {
+                       static class InnerClass1 {
+                               static class InnerClass2 {}
+                       }
+               }
+
+               @Test void a04_innerClassMatching() throws Exception {
+                       var inner1 = OuterClass.InnerClass1.class;
+                       var inner2 = OuterClass.InnerClass1.InnerClass2.class;
+
+                       // Match inner class by partial name (should match 
after stripping package)
+                       var rm1 = create().append("OuterClass$InnerClass1", 
1).build();
+                       assertTrue(rm1.find(inner1).findAny().isPresent());
+
+                       // Match inner class by simple name only (should match 
in while loop - lines 595-596)
+                       var rm2 = create().append("InnerClass1", 2).build();
+                       assertTrue(rm2.find(inner1).findAny().isPresent());
+
+                       // Match nested inner class by simple name (should 
match in while loop)
+                       var rm3 = create().append("InnerClass2", 3).build();
+                       assertTrue(rm3.find(inner2).findAny().isPresent());
+
+                       // Match nested inner class by partial path
+                       var rm4 = create().append("InnerClass1$InnerClass2", 
4).build();
+                       assertTrue(rm4.find(inner2).findAny().isPresent());
+               }
+
+               // Test for class without package (line 586 false branch, line 
588 false branch)
+               @Test void a05_classWithoutPackage() throws Exception {
+                       // Primitive array class has no package and no '$' in 
name
+                       var intArrayClass = int[].class;
+                       var rm1 = create().append("int[]", 1).build();
+                       
assertTrue(rm1.find(intArrayClass).findAny().isPresent());
+
+                       // Test with a regular non-inner class (no '$') to hit 
line 586 false branch
+                       var rm2 = create().append("String", 2).build();
+                       
assertTrue(rm2.find(String.class).findAny().isPresent());
+               }
+
+               // Test for inner class with and without package (line 588 
branches)
+               @Test void a06_innerClassPackageHandling() throws Exception {
+                       var inner1 = OuterClass.InnerClass1.class;
+
+                       // Pattern with full path including package - tests 
line 588 true branch (package not null)
+                       var rm1 = 
create().append("ReflectionMap_Test$A_Class$OuterClass$InnerClass1", 1).build();
+                       assertTrue(rm1.find(inner1).findAny().isPresent());
+
+                       // Pattern with partial path - tests while loop and 
line 588 execution
+                       var rm2 = 
create().append("A_Class$OuterClass$InnerClass1", 2).build();
+                       assertTrue(rm2.find(inner1).findAny().isPresent());
+
+                       // Test line 588 false branch (package IS null but 
class has $ - inner class in default package)
+                       // Must use reflection to access classes from default 
package
+                       var defaultPackageInner = 
Class.forName("DefaultPackageTestClass$InnerClass");
+                       var defaultPackageNested = 
Class.forName("DefaultPackageTestClass$InnerClass$NestedInner");
+
+                       // This class has '$' so line 586 is true, but 
getPackage() returns null, so line 588 is false
+                       var rm3 = 
create().append("DefaultPackageTestClass$InnerClass", 3).build();
+                       
assertTrue(rm3.find(defaultPackageInner).findAny().isPresent());
+
+                       // Test matching by simple inner class name (exercises 
while loop with null package)
+                       var rm4 = create().append("InnerClass", 4).build();
+                       
assertTrue(rm4.find(defaultPackageInner).findAny().isPresent());
+
+                       // Test nested inner class in default package
+                       var rm5 = create().append("NestedInner", 5).build();
+                       
assertTrue(rm5.find(defaultPackageNested).findAny().isPresent());
+               }
+
+               // Additional test to ensure both branches of line 586 are 
covered
+               @Test void a07_nonInnerClassMatching() throws Exception {
+                       // Test classes without $ (line 586 false branch)
+                       var rm1 = create().append("String", 1).build();
+                       
assertTrue(rm1.find(String.class).findAny().isPresent()); // No $ in name
+
+                       var rm2 = create().append("Integer", 2).build();
+                       
assertTrue(rm2.find(Integer.class).findAny().isPresent()); // No $ in name
+               }
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -109,6 +200,7 @@ class ReflectionMap_Test extends TestBase {
                        public void m1() { /* no-op */ }
                }
 
+               // @formatter:off
                static ReflectionMap<Number>
                        B1m1_SIMPLE = create().append("B1.m1", 1).build(),
                        B1m1i_SIMPLE = create().append("B1.m1(int)", 1).build(),
@@ -122,6 +214,7 @@ class ReflectionMap_Test extends TestBase {
                        B1m1ss_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$B_Method$B1.m1(java.lang.String)",
 1).build(),
                        B1m1si_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$B_Method$B1.m1(String,int)",
 1).build(),
                        B1m1ssi_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$B_Method$B1.m1(java.lang.String
 , int)", 1).build();
+               // @formatter:on
 
                @Test void a01_checkEntries() {
                        checkEntries(B1m1_SIMPLE, false, true, true, false);
@@ -139,8 +232,8 @@ class ReflectionMap_Test extends TestBase {
                }
 
                private static void test(Method m, boolean match_B1m1_SIMPLE, 
boolean match_B1m1i_SIMPLE, boolean match_B1m1s_SIMPLE, boolean 
match_B1m1ss_SIMPLE,
-                               boolean match_B1m1si_SIMPLE, boolean 
match_B1m1ssi_SIMPLE, boolean match_B1m1_FULL, boolean match_B1m1i_FULL, 
boolean match_B1m1s_FULL,
-                               boolean match_B1m1ss_FULL, boolean 
match_B1m1si_FULL, boolean match_B1m1ssi_FULL) {
+                       boolean match_B1m1si_SIMPLE, boolean 
match_B1m1ssi_SIMPLE, boolean match_B1m1_FULL, boolean match_B1m1i_FULL, 
boolean match_B1m1s_FULL,
+                       boolean match_B1m1ss_FULL, boolean match_B1m1si_FULL, 
boolean match_B1m1ssi_FULL) {
 
                        assertEquals(match_B1m1_SIMPLE, 
B1m1_SIMPLE.find(m).findAny().isPresent());
                        assertEquals(match_B1m1i_SIMPLE, 
B1m1i_SIMPLE.find(m).findAny().isPresent());
@@ -191,40 +284,121 @@ class ReflectionMap_Test extends TestBase {
                        test(B2.class.getMethod("m1"), false, false, false, 
false, false, false, false, false, false, false, false, false);
                        test(null, false, false, false, false, false, false, 
false, false, false, false, false, false);
                }
-       
-               // Test for generic parameters in method signatures (lines 
409-411)
+
+               // Test for generic parameters in method signatures (lines 
407-411)
+               @SuppressWarnings("rawtypes")
+               static class B2a {
+                       public void m1(List x) { /* no-op */ }
+                       public void m2(List<String> x) { /* no-op */ }
+                       public void m3(Map<String, Integer> x) { /* no-op */ }
+                       public void m4(List<List<String>> x) { /* no-op */ }
+                       public void m5(Map x, List y) { /* no-op */ }
+               }
+
                @Test void a03_generics() throws Exception {
-                       ReflectionMap<Number> rm = 
create().append("B1.m1(List<String>)", 1).build();
-                       // Generic parameters should be stripped, so this 
should match m1(List)
-                       // Note: We can't easily test this because Java doesn't 
preserve generic info at runtime,
-                       // but we can verify the pattern was parsed without 
error
-                       assertEquals(1, rm.methodEntries.size());
-               }
-       
-               // Test for array parameters in method signatures (lines 
414-424)
+                       // Generic parameters should be stripped, so 
List<String> matches List
+                       var rm1 = create().append("B2a.m1(List<String>)", 
1).build();
+                       assertTrue(rm1.find(B2a.class.getMethod("m1", 
List.class)).findAny().isPresent());
+
+                       // Also works the other way - List pattern matches 
method declared with List<String>
+                       var rm2 = create().append("B2a.m2(List)", 2).build();
+                       assertTrue(rm2.find(B2a.class.getMethod("m2", 
List.class)).findAny().isPresent());
+
+                       // Multiple generic parameters
+                       var rm3 = 
create().append("B2a.m3(Map<String,Integer>)", 3).build();
+                       assertTrue(rm3.find(B2a.class.getMethod("m3", 
Map.class)).findAny().isPresent());
+
+                       // Nested generic parameters
+                       var rm4 = create().append("B2a.m4(List<List<String>>)", 
4).build();
+                       assertTrue(rm4.find(B2a.class.getMethod("m4", 
List.class)).findAny().isPresent());
+
+                       // Multiple parameters with generics
+                       var rm5 = create().append("B2a.m5(Map<String,Integer>, 
List<String>)", 5).build();
+                       assertTrue(rm5.find(B2a.class.getMethod("m5", 
Map.class, List.class)).findAny().isPresent());
+
+                       // With fully qualified names
+                       var rm6 = 
create().append("B2a.m1(java.util.List<java.lang.String>)", 6).build();
+                       assertTrue(rm6.find(B2a.class.getMethod("m1", 
List.class)).findAny().isPresent());
+               }
+
+               // Test for array parameters in method signatures
                static class B3 {
                        public void m1(String[] x) { /* no-op */ }
                        public void m2(String[][] x) { /* no-op */ }
                        public void m3(int[] x) { /* no-op */ }
                }
-       
+
                @Test void a04_arrayParams() throws Exception {
                        // Single-dimensional array with simple name
-                       ReflectionMap<Number> rm1 = 
create().append("B3.m1(String[])", 1).build();
+                       var rm1 = create().append("B3.m1(String[])", 1).build();
                        assertTrue(rm1.find(B3.class.getMethod("m1", 
String[].class)).findAny().isPresent());
-       
+
                        // Single-dimensional array with full name
-                       ReflectionMap<Number> rm1b = 
create().append("B3.m1(java.lang.String[])", 1).build();
+                       var rm1b = create().append("B3.m1(java.lang.String[])", 
1).build();
                        assertTrue(rm1b.find(B3.class.getMethod("m1", 
String[].class)).findAny().isPresent());
-       
+
                        // Multi-dimensional array
-                       ReflectionMap<Number> rm2 = 
create().append("B3.m2(String[][])", 2).build();
+                       var rm2 = create().append("B3.m2(String[][])", 
2).build();
                        assertTrue(rm2.find(B3.class.getMethod("m2", 
String[][].class)).findAny().isPresent());
-       
+
                        // Primitive array
-                       ReflectionMap<Number> rm3 = 
create().append("B3.m3(int[])", 3).build();
+                       var rm3 = create().append("B3.m3(int[])", 3).build();
                        assertTrue(rm3.find(B3.class.getMethod("m3", 
int[].class)).findAny().isPresent());
                }
+
+               // Test for generic arrays - combining generics and arrays
+               static class B4 {
+                       public void m1(List<String>[] x) { /* no-op */ }
+                       public void m2(Map<String, Integer>[][] x) { /* no-op 
*/ }
+               }
+
+               @Test void a05_genericArrays() throws Exception {
+                       // Array of generic types - generics should be 
stripped, array dimensions preserved
+                       var rm1 = create().append("B4.m1(List<String>[])", 
1).build();
+                       assertTrue(rm1.find(B4.class.getMethod("m1", 
List[].class)).findAny().isPresent());
+
+                       // Also works without generics in pattern
+                       var rm1b = create().append("B4.m1(List[])", 1).build();
+                       assertTrue(rm1b.find(B4.class.getMethod("m1", 
List[].class)).findAny().isPresent());
+
+                       // Multi-dimensional array of generic types
+                       var rm2 = 
create().append("B4.m2(Map<String,Integer>[][])", 2).build();
+                       assertTrue(rm2.find(B4.class.getMethod("m2", 
Map[][].class)).findAny().isPresent());
+
+                       // With fully qualified names
+                       var rm3 = 
create().append("B4.m1(java.util.List<java.lang.String>[])", 3).build();
+                       assertTrue(rm3.find(B4.class.getMethod("m1", 
List[].class)).findAny().isPresent());
+               }
+
+               // Test for negative matching - array dimension mismatches and 
type mismatches
+               static class B5 {
+                       public void testMethod(String[] x) { /* no-op */ }
+                       public void testMethod(String[][] x) { /* no-op */ }
+                       public void testMethod(Integer[] x) { /* no-op */ }
+                       public void testMethod(int[] x) { /* no-op */ }
+               }
+
+               @Test void a06_arrayNegativeMatching() throws Exception {
+                       // Array dimension mismatch - pattern has 1 dimension, 
actual has 2
+                       var rm1 = create().append("B5.testMethod(String[])", 
1).build();
+                       assertFalse(rm1.find(B5.class.getMethod("testMethod", 
String[][].class)).findAny().isPresent());
+
+                       // Array dimension mismatch - pattern has 2 dimensions, 
actual has 1
+                       var rm2 = create().append("B5.testMethod(String[][])", 
2).build();
+                       assertFalse(rm2.find(B5.class.getMethod("testMethod", 
String[].class)).findAny().isPresent());
+
+                       // Array type mismatch - pattern is String[], actual is 
Integer[]
+                       var rm3 = create().append("B5.testMethod(String[])", 
1).build();
+                       assertFalse(rm3.find(B5.class.getMethod("testMethod", 
Integer[].class)).findAny().isPresent());
+
+                       // Array type mismatch - pattern is Integer[], actual 
is String[]
+                       var rm4 = create().append("B5.testMethod(Integer[])", 
3).build();
+                       assertFalse(rm4.find(B5.class.getMethod("testMethod", 
String[].class)).findAny().isPresent());
+
+                       // Array type mismatch - pattern is int[], actual is 
String[]
+                       var rm5 = create().append("B5.testMethod(int[])", 
4).build();
+                       assertFalse(rm5.find(B5.class.getMethod("testMethod", 
String[].class)).findAny().isPresent());
+               }
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -242,9 +416,11 @@ class ReflectionMap_Test extends TestBase {
                        public int f1;
                }
 
+               // @formatter:off
                static ReflectionMap<Number>
                        C1f1_SIMPLE = create().append("C1.f1", 1).build(),
                        C1f1_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$C_Field$C1.f1",
 1).build();
+               // @formatter:on
 
                @Test void a01_checkEntries() {
                        checkEntries(C1f1_SIMPLE, false, true, true, false);
@@ -287,6 +463,7 @@ class ReflectionMap_Test extends TestBase {
                        public D2() { /* no-op */ }
                }
 
+               // @formatter:off
                static ReflectionMap<Number>
                        D_SIMPLE = create().append("D1()", 1).build(),
                        Di_SIMPLE = create().append("D1(int)", 1).build(),
@@ -300,6 +477,7 @@ class ReflectionMap_Test extends TestBase {
                        Dss_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$D_Constructor$D1(java.lang.String)",
 1).build(),
                        Dsi_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$D_Constructor$D1(String,
 int)", 1).build(),
                        Dssi_FULL = 
create().append("org.apache.juneau.common.reflect.ReflectionMap_Test$D_Constructor$D1(java.lang.String,
 int)", 1).build();
+               // @formatter:on
 
                @Test void a01_checkEntries() {
                        checkEntries(D_SIMPLE, false, false, false, true);
@@ -317,8 +495,8 @@ class ReflectionMap_Test extends TestBase {
                }
 
                private static void test(Constructor<?> c, boolean 
match_D_SIMPLE, boolean match_Di_SIMPLE, boolean match_Ds_SIMPLE, boolean 
match_Dss_SIMPLE,
-                               boolean match_Dsi_SIMPLE, boolean 
match_Dssi_SIMPLE, boolean match_D_FULL, boolean match_Di_FULL, boolean 
match_Ds_FULL,
-                               boolean match_Dss_FULL, boolean match_Dsi_FULL, 
boolean match_Dssi_FULL) {
+                       boolean match_Dsi_SIMPLE, boolean match_Dssi_SIMPLE, 
boolean match_D_FULL, boolean match_Di_FULL, boolean match_Ds_FULL,
+                       boolean match_Dss_FULL, boolean match_Dsi_FULL, boolean 
match_Dssi_FULL) {
 
                        assertEquals(match_D_SIMPLE, 
D_SIMPLE.find(c).findAny().isPresent());
                        assertEquals(match_Di_SIMPLE, 
Di_SIMPLE.find(c).findAny().isPresent());
@@ -368,6 +546,35 @@ class ReflectionMap_Test extends TestBase {
                        test(D2.class.getConstructor(), false, false, false, 
false, false, false, false, false, false, false, false, false);
                        test(null, false, false, false, false, false, false, 
false, false, false, false, false, false);
                }
+
+               // Test for generic parameters with commas in constructor 
signatures
+               static class D3 {
+                       public D3(Map<String, Integer> x) { /* no-op */ }
+                       public D3(Map<String, Integer> x, List<String> y) { /* 
no-op */ }
+                       public D3(Map<String, Integer>[] x) { /* no-op */ }
+               }
+
+               @Test void a03_generics() throws Exception {
+                       // Generic parameters with commas should be handled 
correctly
+                       var rm1 = create().append("D3(Map<String,Integer>)", 
1).build();
+                       
assertTrue(rm1.find(D3.class.getConstructor(Map.class)).findAny().isPresent());
+
+                       // Also works without generics in pattern
+                       var rm1b = create().append("D3(Map)", 1).build();
+                       
assertTrue(rm1b.find(D3.class.getConstructor(Map.class)).findAny().isPresent());
+
+                       // Multiple parameters with generics containing commas
+                       var rm2 = create().append("D3(Map<String,Integer>, 
List<String>)", 2).build();
+                       assertTrue(rm2.find(D3.class.getConstructor(Map.class, 
List.class)).findAny().isPresent());
+
+                       // Generic array parameters
+                       var rm3 = create().append("D3(Map<String,Integer>[])", 
3).build();
+                       
assertTrue(rm3.find(D3.class.getConstructor(Map[].class)).findAny().isPresent());
+
+                       // With fully qualified names
+                       var rm4 = 
create().append("D3(java.util.Map<java.lang.String,java.lang.Integer>)", 
4).build();
+                       
assertTrue(rm4.find(D3.class.getConstructor(Map.class)).findAny().isPresent());
+               }
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -415,12 +622,14 @@ class ReflectionMap_Test extends TestBase {
                }
 
                @Test void a03_toString() {
-                       ReflectionMap<Number> rm = create()
+                       var rm = create()
                                .append("F1", 1)                    // class
-                               .append("F1.toString", 2)           // method 
(and field)
-                               .append("F1()", 3)                  // 
constructor
+                               .append("F1.toString", 2)           // method 
without args (args=null)
+                               .append("F1.toString(String)", 3)   // method 
with args
+                               .append("F1.myField", 4)            // field
+                               .append("F1()", 5)                  // 
constructor
                                .build();
-                       assertString("{classEntries=[{simpleName=F1, 
fullName=F1, value=1}], methodEntries=[{simpleClassName=F1, fullClassName=F1, 
methodName=toString, value=2}], fieldEntries=[{simpleClassName=F1, 
fullClassName=F1, fieldName=toString, value=2}], 
constructorEntries=[{simpleClassName=F1, fullClassName=F1, value=3}]}", rm);
+                       assertString("{classEntries=[{simpleName=F1, 
fullName=F1, value=1}], methodEntries=[{simpleClassName=F1, fullClassName=F1, 
methodName=toString, value=2}, {simpleClassName=F1, fullClassName=F1, 
methodName=toString, args=[String], value=3}, {simpleClassName=F1, 
fullClassName=F1, methodName=myField, value=4}], 
fieldEntries=[{simpleClassName=F1, fullClassName=F1, fieldName=toString, 
value=2}, {simpleClassName=F1, fullClassName=F1, fieldName=myField, value=4}], 
constructorEntries=[{simpleC [...]
                }
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvConfig_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvConfig_Test.java
index b67f3f96c9..8e4db44a61 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvConfig_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvConfig_Test.java
@@ -23,7 +23,6 @@ import org.apache.juneau.*;
 import org.apache.juneau.csv.*;
 import org.apache.juneau.common.reflect.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @CsvConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
index 240ba4a9b6..751c1c8c07 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
@@ -27,7 +27,6 @@ import org.apache.juneau.html.annotation.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @HtmlConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonConfigAnnotationTest.java
index fca375b9a6..d0495ab0c1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/json/JsonConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/json/JsonConfigAnnotationTest.java
@@ -26,7 +26,6 @@ import org.apache.juneau.json.annotation.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @JsonConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index 0627295c2b..3ca2898d9f 100755
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -22,8 +22,6 @@ import static org.apache.juneau.jsonschema.TypeCategory.*;
 import static org.apache.juneau.junit.bct.BctAssertions.*;
 
 import java.util.*;
-import java.util.stream.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/msgpack/MsgPackConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/msgpack/MsgPackConfigAnnotationTest.java
index 8934b22f1e..132ed2fdec 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/msgpack/MsgPackConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/msgpack/MsgPackConfigAnnotationTest.java
@@ -26,7 +26,6 @@ import org.apache.juneau.msgpack.annotation.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @MsgPackConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotation_Test.java
index 20de129cf8..91f33b381b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotation_Test.java
@@ -19,8 +19,6 @@ package org.apache.juneau.oapi;
 import static org.apache.juneau.common.utils.CollectionUtils.*;
 import static org.junit.jupiter.api.Assertions.*;
 
-import java.util.stream.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.oapi.annotation.*;
 import org.apache.juneau.common.reflect.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/parser/ParserConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/parser/ParserConfigAnnotationTest.java
index 11399d88d0..1504eec0de 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/parser/ParserConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/parser/ParserConfigAnnotationTest.java
@@ -29,7 +29,6 @@ import org.apache.juneau.parser.annotation.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @ParserConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotation_Test.java
index 8c35239d4a..a419067b94 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotation_Test.java
@@ -24,7 +24,6 @@ import org.apache.juneau.plaintext.annotation.*;
 import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @PlainTextConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
index a405ac5086..602b223f7a 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
@@ -21,8 +21,6 @@ import static 
org.apache.juneau.common.utils.CollectionUtils.*;
 import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.*;
-import java.util.stream.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.common.reflect.*;
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/serializer/SerializerConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/serializer/SerializerConfigAnnotationTest.java
index e6c1f4fdc6..78a6aed736 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/serializer/SerializerConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/serializer/SerializerConfigAnnotationTest.java
@@ -28,7 +28,6 @@ import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.serializer.annotation.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @SerializerConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/soap/SoapXmlConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/soap/SoapXmlConfigAnnotationTest.java
index f1bba7be95..39bb069745 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/soap/SoapXmlConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/soap/SoapXmlConfigAnnotationTest.java
@@ -26,7 +26,6 @@ import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.soap.annotation.*;
 import org.apache.juneau.svl.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @SoapXmlConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/uon/UonConfigAnnotationTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/uon/UonConfigAnnotationTest.java
index 62c9326e47..c896fd82ef 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/uon/UonConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/uon/UonConfigAnnotationTest.java
@@ -26,7 +26,6 @@ import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.uon.annotation.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @UonConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingConfigAnnotationTest.java
index b6bdb9de6c..eb221887be 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/UrlEncodingConfigAnnotationTest.java
@@ -26,7 +26,6 @@ import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.urlencoding.annotation.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @UrlEncodingConfig annotation.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
index e60dc4be28..864fe937cc 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
@@ -31,7 +31,6 @@ import org.apache.juneau.common.reflect.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.xml.annotation.*;
 import org.junit.jupiter.api.*;
-import java.util.stream.*;
 
 /**
  * Tests the @XmlConfig annotation.


Reply via email to