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 127074c  ClassInfo refactoring.
127074c is described below

commit 127074cb375deb0e36d38a148070b646a01d7cff
Author: JamesBognar <[email protected]>
AuthorDate: Sun Jan 30 13:23:42 2022 -0500

    ClassInfo refactoring.
---
 .../java/org/apache/juneau/AnnotationWorkList.java | 67 ++++++++++++++++++++++
 .../src/main/java/org/apache/juneau/Context.java   | 26 +++------
 .../juneau/httppart/bean/ResponseBeanMeta.java     |  2 +-
 .../org/apache/juneau/reflect/AnnotationInfo.java  | 14 ++---
 .../org/apache/juneau/reflect/AnnotationList.java  | 50 ----------------
 .../java/org/apache/juneau/reflect/ClassInfo.java  |  2 +-
 .../rest/client/remote/RemoteOperationMeta.java    |  2 +-
 .../rest/client/remote/RemoteOperationReturn.java  |  2 +-
 .../java/org/apache/juneau/rest/RestContext.java   | 13 +++--
 .../java/org/apache/juneau/rest/RestOpContext.java | 34 +++++------
 .../annotation/BeanConfigAnnotation_Test.java      |  6 +-
 .../org/apache/juneau/annotation/Bean_Test.java    | 12 ++--
 .../juneau/csv/annotation/CsvConfig_Test.java      |  8 +--
 .../juneau/html/HtmlConfigAnnotation_Test.java     | 12 ++--
 .../juneau/html/HtmlDocConfigAnnotation_Test.java  | 28 ++++-----
 .../juneau/jena/RdfConfigAnnotationTest.java       | 12 ++--
 .../juneau/json/JsonConfigAnnotationTest.java      | 12 ++--
 .../jsonschema/JsonSchemaConfigAnnotationTest.java |  6 +-
 .../juneau/jsonschema/JsonSchemaGeneratorTest.java |  2 +-
 .../msgpack/MsgPackConfigAnnotationTest.java       | 12 ++--
 .../juneau/oapi/OpenApiConfigAnnotationTest.java   |  8 +--
 .../juneau/parser/ParserConfigAnnotationTest.java  | 12 ++--
 .../plaintext/PlainTextConfigAnnotationTest.java   |  8 +--
 .../client/RestClient_Config_Context_Test.java     |  2 +-
 .../serializer/SerializerConfigAnnotationTest.java | 12 ++--
 .../juneau/soap/SoapXmlConfigAnnotationTest.java   |  6 +-
 .../apache/juneau/uon/UonConfigAnnotationTest.java | 12 ++--
 .../UrlEncodingConfigAnnotationTest.java           | 12 ++--
 .../apache/juneau/xml/XmlConfigAnnotationTest.java | 12 ++--
 29 files changed, 206 insertions(+), 200 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationWorkList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationWorkList.java
index f287058..840e9e0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationWorkList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationWorkList.java
@@ -16,6 +16,7 @@ import java.lang.annotation.*;
 import java.util.*;
 
 import org.apache.juneau.reflect.*;
+import org.apache.juneau.svl.*;
 
 /**
  * A list of {@link AnnotationWork} objects.
@@ -29,6 +30,60 @@ import org.apache.juneau.reflect.*;
 public class AnnotationWorkList extends ArrayList<AnnotationWork> {
        private static final long serialVersionUID = 1L;
 
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Static
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       /**
+        * Static creator.
+        *
+        * @param annotations The annotations to create work from.
+        * @param vrs The variable resolver.
+        * @return A new list.
+        */
+       public static AnnotationWorkList of(VarResolverSession vrs, 
AnnotationList annotations) {
+               return create(vrs).add(annotations);
+       }
+
+       /**
+        * Static creator.
+        *
+        * @param annotations The annotations to create work from.
+        * @return A new list.
+        */
+       public static AnnotationWorkList of(AnnotationList annotations) {
+               return create().add(annotations);
+       }
+
+       /**
+        * Static creator.
+        *
+        * @return A new list.
+        */
+       public static AnnotationWorkList create() {
+               return new 
AnnotationWorkList(VarResolver.DEFAULT.createSession());
+       }
+
+       /**
+        * Static creator.
+        *
+        * @param vrs The variable resolver.
+        * @return A new list.
+        */
+       public static AnnotationWorkList create(VarResolverSession vrs) {
+               return new AnnotationWorkList(vrs);
+       }
+
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Instance
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       private final VarResolverSession vrs;
+
+       private AnnotationWorkList(VarResolverSession vrs) {
+               this.vrs = vrs;
+       }
+
        /**
         * Adds an entry to this list.
         *
@@ -40,4 +95,16 @@ public class AnnotationWorkList extends 
ArrayList<AnnotationWork> {
                add(new AnnotationWork(ai, aa));
                return this;
        }
+
+       /**
+        * Adds entries for the specified annotations to this work list.
+        *
+        * @param annotations The annotations to create work from.
+        * @return This object.
+        */
+       public AnnotationWorkList add(AnnotationList annotations) {
+               for (AnnotationInfo<?> ai : annotations.sort())
+                       ai.getApplies(vrs, x -> add(ai, x));
+               return this;
+       }
 }
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 53067c5..65dfbed 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
@@ -15,9 +15,7 @@ package org.apache.juneau;
 import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
-import static java.util.Arrays.*;
 import static java.util.Optional.*;
-import static java.util.stream.Collectors.*;
 import static org.apache.juneau.collections.OMap.*;
 
 import java.lang.annotation.Annotation;
@@ -139,7 +137,7 @@ public abstract class Context implements AnnotationProvider 
{
                Cache<HashKey,? extends Context> cache;
 
                private final List<Object> builders = new ArrayList<>();
-               private final AnnotationWorkList applied = new 
AnnotationWorkList();
+               private final AnnotationWorkList applied = 
AnnotationWorkList.create();
 
                /**
                 * Constructor.
@@ -447,16 +445,9 @@ public abstract class Context implements 
AnnotationProvider {
                 */
                @FluentSetter
                public Builder applyAnnotations(Class<?>...fromClasses) {
-                       VarResolverSession vrs = 
VarResolver.DEFAULT.createSession();
-                       AnnotationWorkList work = new AnnotationWorkList();
-                       for (Class<?> c : fromClasses) {
-                               ClassInfo ci = ClassInfo.of(c);
-                               AnnotationList al = new AnnotationList();
-                               
ci.getAnnotationInfos(ContextApplyFilter.INSTANCE, x -> al.add(x));
-                               for (AnnotationInfo<?> ai : al.sort())
-                                       for 
(AnnotationApplier<Annotation,Object> aa : ai.getApplies(vrs))
-                                               work.add(ai, aa);
-                       }
+                       AnnotationWorkList work = AnnotationWorkList.create();
+                       for (Class<?> c : fromClasses)
+                               
work.add(ClassInfo.of(c).getAnnotationList(ContextApplyFilter.INSTANCE));
                        return apply(work);
                }
 
@@ -518,12 +509,9 @@ public abstract class Context implements 
AnnotationProvider {
                 */
                @FluentSetter
                public Builder applyAnnotations(Method...fromMethods) {
-                       VarResolverSession vrs = 
VarResolver.DEFAULT.createSession();
-                       AnnotationWorkList work = stream(fromMethods)
-                               .map(MethodInfo::of)
-                               .map(x -> 
x.getAnnotationList(ContextApplyFilter.INSTANCE).getWork(vrs))
-                               .flatMap(Collection::stream)
-                               .collect(toCollection(AnnotationWorkList::new));
+                       AnnotationWorkList work = AnnotationWorkList.create();
+                       for (Method m : fromMethods)
+                               
work.add(MethodInfo.of(m).getAnnotationList(ContextApplyFilter.INSTANCE));
                        return apply(work);
                }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
index 4e3758f..d1bc9fe 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
@@ -40,7 +40,7 @@ public class ResponseBeanMeta {
        /**
         * Represents a non-existent meta object.
         */
-       public static ResponseBeanMeta NULL = new ResponseBeanMeta(new 
Builder(new AnnotationWorkList()));
+       public static ResponseBeanMeta NULL = new ResponseBeanMeta(new 
Builder(AnnotationWorkList.create()));
 
        /**
         * Create metadata from specified class.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
index 692644d..58ea913 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
@@ -173,14 +173,15 @@ public class AnnotationInfo<T extends Annotation> {
        private Constructor<? extends AnnotationApplier<?,?>>[] 
applyConstructors;
 
        /**
-        * If this annotation has a {@link ContextApply} annotation, returns an 
instance of the specified {@link AnnotationApplier} class.
+        * If this annotation has a {@link ContextApply} annotation, consumes 
an instance of the specified {@link AnnotationApplier} class.
         *
         * @param vrs Variable resolver passed to the {@link AnnotationApplier} 
object.
-        * @return A new {@link AnnotationApplier} object.  Never <jk>null</jk>.
+        * @param consumer The consumer.
+        * @return This object.
         * @throws ExecutableException Exception occurred on invoked 
constructor/method/field.
         */
        @SuppressWarnings("unchecked")
-       public AnnotationApplier<Annotation,Object>[] 
getApplies(VarResolverSession vrs) throws ExecutableException {
+       public AnnotationInfo<?> getApplies(VarResolverSession vrs, 
Consumer<AnnotationApplier<Annotation,Object>> consumer) throws 
ExecutableException {
                try {
                        if (applyConstructors == null) {
                                ContextApply cpa = 
a.annotationType().getAnnotation(ContextApply.class);
@@ -192,13 +193,12 @@ public class AnnotationInfo<T extends Annotation> {
                                                applyConstructors[i] = 
(Constructor<? extends AnnotationApplier<?,?>>) 
cpa.value()[i].getConstructor(VarResolverSession.class);
                                }
                        }
-                       AnnotationApplier<Annotation,Object>[] aa = new 
AnnotationApplier[applyConstructors.length];
-                       for (int i = 0; i < aa.length; i++)
-                               aa[i] = (AnnotationApplier<Annotation,Object>) 
applyConstructors[i].newInstance(vrs);
-                       return aa;
+                       for (int i = 0; i < applyConstructors.length; i++)
+                               
consumer.accept((AnnotationApplier<Annotation,Object>) 
applyConstructors[i].newInstance(vrs));
                } catch (InstantiationException | IllegalAccessException | 
IllegalArgumentException | InvocationTargetException | NoSuchMethodException | 
SecurityException e) {
                        throw new ExecutableException(e);
                }
+               return this;
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationList.java
index 29fcacd..add1c28 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationList.java
@@ -12,15 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.reflect;
 
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
 import java.lang.annotation.*;
 import java.util.*;
 import java.util.function.*;
 
-import org.apache.juneau.*;
-import org.apache.juneau.svl.*;
-
 /**
  * An ordered list of annotations and the classes/methods/packages they were 
found on.
  *
@@ -33,33 +28,6 @@ import org.apache.juneau.svl.*;
 public class AnnotationList extends ArrayList<AnnotationInfo<?>> {
        private static final long serialVersionUID = 1L;
 
-       private final Predicate<AnnotationInfo<?>> filter;
-
-       /**
-        * Constructor with optional filter.
-        *
-        * @param filter The filter to use to filter entries added to this list.
-        */
-       public AnnotationList(Predicate<AnnotationInfo<?>> filter) {
-               this.filter = filter;
-       }
-
-       /**
-        * Constructor.
-        */
-       public AnnotationList() {
-               this.filter = null;
-       }
-
-       @Override /* List */
-       public boolean add(AnnotationInfo<?> ai) {
-               if (filter == null || filter.test(ai)) {
-                       super.add(ai);
-                       return true;
-               }
-               return false;
-       }
-
        private static final Comparator<AnnotationInfo<?>> RANK_COMPARATOR = 
new Comparator<AnnotationInfo<?>>() {
                @Override
                public int compare(AnnotationInfo<?> o1, AnnotationInfo<?> o2) {
@@ -123,22 +91,4 @@ public class AnnotationList extends 
ArrayList<AnnotationInfo<?>> {
                                consumer.accept(ai);
                return this;
        }
-
-       /**
-        * Takes the annotations in this list and produces a list of {@link 
AnnotationWork} objects to be applied to context builders.
-        *
-        * @param vrs The variable resolver session that gets passed in to the 
constructor of the {@link AnnotationApplier} objects that get created.
-        * @return A list of {@link AnnotationWork} objects.
-        */
-       public AnnotationWorkList getWork(VarResolverSession vrs) {
-               try {
-                       AnnotationWorkList l = new AnnotationWorkList();
-                       for (AnnotationInfo<?> ai : sort())
-                               for (AnnotationApplier<Annotation,Object> aa : 
ai.getApplies(vrs))
-                                       l.add(ai, aa);
-                       return l;
-               } catch (ExecutableException e) {
-                       throw runtimeException(e.getCause());
-               }
-       }
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
index 600d665..309c6b3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
@@ -1113,7 +1113,7 @@ public final class ClassInfo {
         * @return A new {@link AnnotationList} object on every call.
         */
        public AnnotationList getAnnotationList(Predicate<AnnotationInfo<?>> 
filter) {
-               AnnotationList l = new AnnotationList(filter);
+               AnnotationList l = new AnnotationList();
                getAnnotationInfos(filter, x -> l.add(x));
                return l;
        }
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 ef5a4a4..6e20495 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
@@ -141,7 +141,7 @@ public class RemoteOperationMeta {
                                        else
                                                bodyArg = rma;
                                }
-                               RequestBeanMeta rmba = 
RequestBeanMeta.create(mpi, new AnnotationWorkList());
+                               RequestBeanMeta rmba = 
RequestBeanMeta.create(mpi, AnnotationWorkList.create());
                                if (rmba != null) {
                                        requestArgs.add(new 
RemoteOperationBeanArg(mpi.getIndex(), rmba));
                                }
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationReturn.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationReturn.java
index fa61dd9..d2f1e9a 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationReturn.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteOperationReturn.java
@@ -64,7 +64,7 @@ public final class RemoteOperationReturn {
                        rv = RemoteReturn.BODY;
 
                if (rt.hasAnnotation(Response.class) && rt.isInterface()) {
-                       this.meta = ResponseBeanMeta.create(m, new 
AnnotationWorkList());
+                       this.meta = ResponseBeanMeta.create(m, 
AnnotationWorkList.create());
                        rv = RemoteReturn.BEAN;
                } else {
                        this.meta = null;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index f7c5948..1ee45bd 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -351,12 +351,13 @@ public class RestContext extends Context {
                        ClassInfo rci = ClassInfo.of(resourceClass);
 
                        VarResolverSession vrs = 
varResolver().build().createSession();
-                       AnnotationWorkList al = 
rci.getAnnotationList(ContextApplyFilter.INSTANCE).getWork(vrs);
-                       apply(al);
-                       beanContext().apply(al);
-                       partSerializer().apply(al);
-                       partParser().apply(al);
-                       jsonSchemaGenerator().apply(al);
+                       AnnotationWorkList work = AnnotationWorkList.of(vrs, 
rci.getAnnotationList(ContextApplyFilter.INSTANCE));
+
+                       apply(work);
+                       beanContext().apply(work);
+                       partSerializer().apply(work);
+                       partParser().apply(work);
+                       jsonSchemaGenerator().apply(work);
 
                        runInitHooks(bs, resource());
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index 7711e91..50fb923 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
@@ -184,22 +184,22 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
 
                                VarResolver vr = context.getVarResolver();
                                VarResolverSession vrs = vr.createSession();
-                               AnnotationWorkList al = 
mi.getAnnotationList(ContextApplyFilter.INSTANCE).getWork(vrs);
-
-                               apply(al);
-
-                               if (context.builder.beanContext().canApply(al))
-                                       beanContext().apply(al);
-                               if (context.builder.serializers().canApply(al))
-                                       serializers().apply(al);
-                               if (context.builder.parsers().canApply(al))
-                                       parsers().apply(al);
-                               if 
(context.builder.partSerializer().canApply(al))
-                                       partSerializer().apply(al);
-                               if (context.builder.partParser().canApply(al))
-                                       partParser().apply(al);
-                               if 
(context.builder.jsonSchemaGenerator().canApply(al))
-                                       jsonSchemaGenerator().apply(al);
+                               AnnotationWorkList work = 
AnnotationWorkList.of(vrs, mi.getAnnotationList(ContextApplyFilter.INSTANCE));
+
+                               apply(work);
+
+                               if 
(context.builder.beanContext().canApply(work))
+                                       beanContext().apply(work);
+                               if 
(context.builder.serializers().canApply(work))
+                                       serializers().apply(work);
+                               if (context.builder.parsers().canApply(work))
+                                       parsers().apply(work);
+                               if 
(context.builder.partSerializer().canApply(work))
+                                       partSerializer().apply(work);
+                               if (context.builder.partParser().canApply(work))
+                                       partParser().apply(work);
+                               if 
(context.builder.jsonSchemaGenerator().canApply(work))
+                                       jsonSchemaGenerator().apply(work);
 
                                processParameterAnnotations();
 
@@ -2368,7 +2368,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                Class<?> c = o.getClass();
                ResponseBeanMeta rbm = responseBeanMetas.get(c);
                if (rbm == null) {
-                       rbm = ResponseBeanMeta.create(c, new 
AnnotationWorkList());
+                       rbm = ResponseBeanMeta.create(c, 
AnnotationWorkList.create());
                        if (rbm == null)
                                rbm = ResponseBeanMeta.NULL;
                        responseBeanMetas.put(c, rbm);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
index cc3ffe5..b90cfe1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
@@ -145,7 +145,7 @@ public class BeanConfigAnnotation_Test {
 
        @Test
        public void a01_basic() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                BeanSession bs = 
JsonSerializer.create().apply(al).build().getSession();
 
                check("PRIVATE", bs.getBeanClassVisibility());
@@ -189,7 +189,7 @@ public class BeanConfigAnnotation_Test {
 
        @Test
        public void b01_noValues() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonSerializer js = JsonSerializer.create().apply(al).build();
                BeanContext bc = js.getBeanContext();
                check("PUBLIC", bc.getBeanClassVisibility());
@@ -235,7 +235,7 @@ public class BeanConfigAnnotation_Test {
 
        @Test
        public void c01_noAnnotation() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonSerializer js = JsonSerializer.create().apply(al).build();
                BeanContext bc = js.getBeanContext();
                check("PUBLIC", bc.getBeanClassVisibility());
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 66a31dc..154c9a8 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
@@ -71,7 +71,7 @@ public class Bean_Test {
 
        @Test
        public void testBeanAnnotationOverridesPrivate_usingConfig() throws 
Exception {
-               AnnotationWorkList al = a2ci.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(a2ci.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
@@ -157,7 +157,7 @@ public class Bean_Test {
 
        @Test
        public void testBeanxAnnotationOverridesPrivate_usingConfig() throws 
Exception {
-               AnnotationWorkList al = b2ci.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(b2ci.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
@@ -227,7 +227,7 @@ public class Bean_Test {
 
        @Test
        public void 
d03_beanPropertiesExcludePropertiesCombined_beanConfigOverride() throws 
Exception {
-               AnnotationWorkList al = dConfig.getAnnotationList().getWork(vr);
+               AnnotationWorkList al = AnnotationWorkList.of(vr, 
dConfig.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
@@ -240,7 +240,7 @@ public class Bean_Test {
 
        @Test
        public void d04_beanPXpCombined_beanConfigOverride() throws Exception {
-               AnnotationWorkList al = dConfig.getAnnotationList().getWork(vr);
+               AnnotationWorkList al = AnnotationWorkList.of(vr, 
dConfig.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
@@ -344,7 +344,7 @@ public class Bean_Test {
 
        @Test
        public void 
e03_beanPropertiesExcludePropertiesCombined_multipleBeanAnnotations_beanConfigOverride()
 throws Exception {
-               AnnotationWorkList al = eConfig.getAnnotationList().getWork(vr);
+               AnnotationWorkList al = AnnotationWorkList.of(vr, 
eConfig.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
@@ -357,7 +357,7 @@ public class Bean_Test {
 
        @Test
        public void 
e04_beanPXpCombined_multipleBeanAnnotations_beanConfigOverride() throws 
Exception {
-               AnnotationWorkList al = eConfig.getAnnotationList().getWork(vr);
+               AnnotationWorkList al = AnnotationWorkList.of(vr, 
eConfig.getAnnotationList());
                JsonSerializer js = 
SimpleJsonSerializer.create().apply(al).build();
                JsonParser jp = JsonParser.create().apply(al).build();
 
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 d5d3ac7..8c16d4a 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
@@ -35,13 +35,13 @@ public class CsvConfig_Test {
 
        @Test
        public void defaultsSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(b.getAnnotationList());
                CsvSerializer.create().apply(al).build();
        }
 
        @Test
        public void defaultsParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(b.getAnnotationList());
                CsvParser.create().apply(al).build();
        }
 
@@ -54,13 +54,13 @@ public class CsvConfig_Test {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(b.getAnnotationList());
                CsvSerializer.create().apply(al).build();
        }
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(b.getAnnotationList());
                CsvParser.create().apply(al).build();
        }
 }
\ No newline at end of file
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 a8fd065..f3c3e9d 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
@@ -61,7 +61,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                HtmlSerializerSession x = 
HtmlSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
                check("true", x.isAddKeyValueTableHeaders());
@@ -73,7 +73,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                HtmlParser.create().apply(al).build().createSession();
        }
 
@@ -87,7 +87,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void defaultsSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                HtmlSerializerSession x = 
HtmlSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddKeyValueTableHeaders());
@@ -99,7 +99,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void defaultsParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                HtmlParser.create().apply(al).build().createSession();
        }
 
@@ -112,7 +112,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                HtmlSerializerSession x = 
HtmlSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddKeyValueTableHeaders());
@@ -124,7 +124,7 @@ public class HtmlConfigAnnotation_Test {
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                HtmlParser.create().apply(al).build().createSession();
        }
 }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/HtmlDocConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/html/HtmlDocConfigAnnotation_Test.java
index 9f57580..9252632 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/html/HtmlDocConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/html/HtmlDocConfigAnnotation_Test.java
@@ -77,7 +77,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void basic() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("foo", x.getAside());
                check("foo", x.getFooter());
@@ -103,7 +103,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void defaults() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("", x.getAside());
                check("", x.getFooter());
@@ -128,7 +128,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void noAnnotation() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("", x.getAside());
                check("", x.getFooter());
@@ -164,7 +164,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void inheritance1() throws Exception {
-               AnnotationWorkList al = d1.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
d1.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("foo2,foo", x.getAside());
                check("foo2,foo", x.getFooter());
@@ -193,7 +193,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void inheritance2() throws Exception {
-               AnnotationWorkList al = d2.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
d2.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("foo,foo2", x.getAside());
                check("foo,foo2", x.getFooter());
@@ -222,7 +222,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void inheritance3() throws Exception {
-               AnnotationWorkList al = d3.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
d3.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("foo2", x.getAside());
                check("foo2", x.getFooter());
@@ -251,7 +251,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void inheritance4() throws Exception {
-               AnnotationWorkList al = d4.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
d4.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("", x.getAside());
                check("", x.getFooter());
@@ -306,7 +306,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void widgets_basic() throws Exception {
-               AnnotationWorkList al = e.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
e.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("$W{E}", x.getAside());
                check("$W{E}", x.getFooter());
@@ -324,7 +324,7 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void widgets_resolution() throws Exception {
-               AnnotationWorkList al = e.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
e.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                String r = x.serialize(null).replaceAll("[\r\n]+", "|");
                assertString(r).contains(
@@ -378,35 +378,35 @@ public class HtmlDocConfigAnnotation_Test {
 
        @Test
        public void e01_rankedAnnotations_f1() throws Exception {
-               AnnotationWorkList al = f1.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
f1.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("f1", x.getAside());
        }
 
        @Test
        public void e02_rankedAnnotations_f2() throws Exception {
-               AnnotationWorkList al = f2.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
f2.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("f1", x.getAside());
        }
 
        @Test
        public void e03_rankedAnnotations_f3() throws Exception {
-               AnnotationWorkList al = f3.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
f3.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("f3", x.getAside());
        }
 
        @Test
        public void e04_rankedAnnotations_f4() throws Exception {
-               AnnotationWorkList al = f4.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
f4.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("f3", x.getAside());
        }
 
        @Test
        public void e05_rankedAnnotations_f5() throws Exception {
-               AnnotationWorkList al = f5.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
f5.getAnnotationList());
                HtmlDocSerializerSession x = 
HtmlDocSerializer.create().apply(al).build().getSession();
                check("f5", x.getAside());
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jena/RdfConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jena/RdfConfigAnnotationTest.java
index 0b0ff51..e06b375 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jena/RdfConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jena/RdfConfigAnnotationTest.java
@@ -99,7 +99,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                RdfSerializerSession x = 
RdfSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
                check("true", x.isAddLiteralTypes());
@@ -140,7 +140,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                RdfParserSession x = 
RdfParser.create().apply(al).build().getSession();
                check("SEQ", x.getCollectionFormat());
                check("foo:http://foo";, x.getJuneauBpNs());
@@ -184,7 +184,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                RdfSerializerSession x = 
RdfSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddLiteralTypes());
@@ -225,7 +225,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                RdfParserSession x = 
RdfParser.create().apply(al).build().getSession();
                check("DEFAULT", x.getCollectionFormat());
                check("jp:http://www.apache.org/juneaubp/";, x.getJuneauBpNs());
@@ -268,7 +268,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                RdfSerializerSession x = 
RdfSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddLiteralTypes());
@@ -309,7 +309,7 @@ public class RdfConfigAnnotationTest {
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                RdfParserSession x = 
RdfParser.create().apply(al).build().getSession();
                check("DEFAULT", x.getCollectionFormat());
                check("jp:http://www.apache.org/juneaubp/";, x.getJuneauBpNs());
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 7ee287b..4c8cee2 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
@@ -57,7 +57,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
                check("true", x.isEscapeSolidus());
@@ -66,7 +66,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("true", x.isValidateEnd());
        }
@@ -81,7 +81,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isEscapeSolidus());
@@ -90,7 +90,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("false", x.isValidateEnd());
        }
@@ -104,7 +104,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isEscapeSolidus());
@@ -113,7 +113,7 @@ public class JsonConfigAnnotationTest {
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("false", x.isValidateEnd());
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
index 94b0bae..66e6003 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaConfigAnnotationTest.java
@@ -69,7 +69,7 @@ public class JsonSchemaConfigAnnotationTest {
 
        @Test
        public void basic() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                JsonSchemaGeneratorSession x = 
JsonSchemaGenerator.create().apply(al).build().getSession();
                check("BEAN", x.getAddDescriptionsTo());
                check("BEAN", x.getAddExamplesTo());
@@ -90,7 +90,7 @@ public class JsonSchemaConfigAnnotationTest {
 
        @Test
        public void noValues() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonSchemaGeneratorSession x = 
JsonSchemaGenerator.create().apply(al).build().getSession();
                check("", x.getAddDescriptionsTo());
                check("", x.getAddExamplesTo());
@@ -110,7 +110,7 @@ public class JsonSchemaConfigAnnotationTest {
 
        @Test
        public void noAnnotation() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonSchemaGeneratorSession x = 
JsonSchemaGenerator.create().apply(al).build().getSession();
                check("", x.getAddDescriptionsTo());
                check("", x.getAddExamplesTo());
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 ae2b13f..c796442 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
@@ -1428,7 +1428,7 @@ public class JsonSchemaGeneratorTest {
 
        @Test
        public void schemaOnClass_onConfig() throws Exception {
-               AnnotationWorkList al = 
bConfig.getAnnotationList().getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(bConfig.getAnnotationList());
                JsonSchemaGeneratorSession x = 
JsonSchemaGenerator.create().apply(al).build().getSession();
                assertObject(x.getSchema(new 
B())).asJson().contains("'$ref':'ref'");
        }
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 89b3f46..b2f2c99 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
@@ -54,14 +54,14 @@ public class MsgPackConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
        }
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                MsgPackParser.create().apply(al).build().createSession();
        }
 
@@ -75,14 +75,14 @@ public class MsgPackConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
        }
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                MsgPackParser.create().apply(al).build().createSession();
        }
 
@@ -95,14 +95,14 @@ public class MsgPackConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
        }
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                MsgPackParser.create().apply(al).build().createSession();
        }
 }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotationTest.java
index 65bcc31..8f0e43b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiConfigAnnotationTest.java
@@ -38,13 +38,13 @@ public class OpenApiConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                OpenApiSerializer.create().apply(al).build().createSession();
        }
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                OpenApiParser.create().apply(al).build().createSession();
        }
 
@@ -57,13 +57,13 @@ public class OpenApiConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                OpenApiSerializer.create().apply(al).build().createSession();
        }
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                OpenApiParser.create().apply(al).build().createSession();
        }
 }
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 33112ec..c4c53a0 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
@@ -71,7 +71,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void basicReaderParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("true", x.isAutoCloseStreams());
                check("1", x.getDebugOutputLines());
@@ -85,7 +85,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void basicInputStreamParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                MsgPackParserSession x = 
MsgPackParser.create().apply(al).build().getSession();
                check("true", x.isAutoCloseStreams());
                check("HEX", x.getBinaryFormat());
@@ -106,7 +106,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void noValuesReaderParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("false", x.isAutoCloseStreams());
                check("5", x.getDebugOutputLines());
@@ -120,7 +120,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void noValuesInputStreamParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                MsgPackParserSession x = 
MsgPackParser.create().apply(al).build().getSession();
                check("false", x.isAutoCloseStreams());
                check("HEX", x.getBinaryFormat());
@@ -140,7 +140,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void noAnnotationReaderParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonParserSession x = 
JsonParser.create().apply(al).build().getSession();
                check("false", x.isAutoCloseStreams());
                check("5", x.getDebugOutputLines());
@@ -154,7 +154,7 @@ public class ParserConfigAnnotationTest {
 
        @Test
        public void noAnnotationInputStreamParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                MsgPackParserSession x = 
MsgPackParser.create().apply(al).build().getSession();
                check("false", x.isAutoCloseStreams());
                check("HEX", x.getBinaryFormat());
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotationTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotationTest.java
index fecae8b..7828bc5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotationTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/PlainTextConfigAnnotationTest.java
@@ -38,13 +38,13 @@ public class PlainTextConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                PlainTextSerializer.create().apply(al).build().createSession();
        }
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                PlainTextParser.create().apply(al).build().createSession();
        }
 
@@ -57,13 +57,13 @@ public class PlainTextConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                PlainTextSerializer.create().apply(al).build().createSession();
        }
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                PlainTextParser.create().apply(al).build().createSession();
        }
 }
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 57458eb..9c100ba 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
@@ -111,7 +111,7 @@ public class RestClient_Config_Context_Test {
                
client().applyAnnotations(A6b.class).build().post("/echoBody",A6a.get()).run().cacheBody().assertBody().is("{bar:2,baz:3,foo:1}").getBody().asType(A6a.class);
                
client().applyAnnotations(A6c.class).build().post("/echoBody",A6a.get()).run().cacheBody().assertBody().is("{bar:2,baz:3,foo:1}").getBody().asType(A6a.class);
                
client().applyAnnotations(A6d.class.getMethod("foo")).build().post("/echoBody",A6a.get()).run().cacheBody().assertBody().is("{bar:2,baz:3,foo:1}").getBody().asType(A6a.class);
-               AnnotationWorkList al = 
ClassInfo.of(A6c.class).getAnnotationList(ContextApplyFilter.INSTANCE).getWork(null);
+               AnnotationWorkList al = 
AnnotationWorkList.of(ClassInfo.of(A6c.class).getAnnotationList(ContextApplyFilter.INSTANCE));
                
client().apply(al).build().post("/echoBody",A6a.get()).run().cacheBody().assertBody().is("{bar:2,baz:3,foo:1}").getBody().asType(A6a.class);
        }
 
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 2768613..fe3bfd4 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
@@ -81,7 +81,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void basicWriterSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("true", ((SerializerSession)x).isAddBeanTypes());
                check("true", x.isAddRootType());
@@ -106,7 +106,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void basicOutputStreamSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("true", ((SerializerSession)x).isAddBeanTypes());
                check("true", x.isAddRootType());
@@ -137,7 +137,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void noValuesWriterSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("false", ((SerializerSession)x).isAddBeanTypes());
                check("false", x.isAddRootType());
@@ -158,7 +158,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void noValuesOutputStreamSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("false", ((SerializerSession)x).isAddBeanTypes());
                check("false", x.isAddRootType());
@@ -184,7 +184,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void noAnnotationWriterSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                JsonSerializerSession x = 
JsonSerializer.create().apply(al).build().getSession();
                check("false", ((SerializerSession)x).isAddBeanTypes());
                check("false", x.isAddRootType());
@@ -205,7 +205,7 @@ public class SerializerConfigAnnotationTest {
 
        @Test
        public void noAnnotationOutputStreamSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                MsgPackSerializerSession x = 
MsgPackSerializer.create().apply(al).build().getSession();
                check("false", ((SerializerSession)x).isAddBeanTypes());
                check("false", x.isAddRootType());
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 293f150..4635bb8 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
@@ -54,7 +54,7 @@ public class SoapXmlConfigAnnotationTest {
 
        @Test
        public void basic() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                SoapXmlSerializerSession x = 
SoapXmlSerializer.create().apply(al).build().getSession();
                check("foo", x.getSoapAction());
        }
@@ -69,7 +69,7 @@ public class SoapXmlConfigAnnotationTest {
 
        @Test
        public void noValues() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                SoapXmlSerializerSession x = 
SoapXmlSerializer.create().apply(al).build().getSession();
                check("http://www.w3.org/2003/05/soap-envelope";, 
x.getSoapAction());
        }
@@ -83,7 +83,7 @@ public class SoapXmlConfigAnnotationTest {
 
        @Test
        public void noAnnotation() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                SoapXmlSerializerSession x = 
SoapXmlSerializer.create().apply(al).build().getSession();
                check("http://www.w3.org/2003/05/soap-envelope";, 
x.getSoapAction());
        }
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 b507aa2..98bb1fe 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
@@ -58,7 +58,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                UonSerializerSession x = 
UonSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
                check("true", x.isEncoding());
@@ -67,7 +67,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                UonParserSession x = 
UonParser.create().apply(al).build().getSession();
                check("true", x.isDecoding());
                check("true", x.isValidateEnd());
@@ -83,7 +83,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                UonSerializerSession x = 
UonSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isEncoding());
@@ -92,7 +92,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                UonParserSession x = 
UonParser.create().apply(al).build().getSession();
                check("false", x.isDecoding());
                check("false", x.isValidateEnd());
@@ -107,7 +107,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                UonSerializerSession x = 
UonSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isEncoding());
@@ -116,7 +116,7 @@ public class UonConfigAnnotationTest {
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                UonParserSession x = 
UonParser.create().apply(al).build().getSession();
                check("false", x.isDecoding());
                check("false", x.isValidateEnd());
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 61d5758..c98d3b0 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
@@ -54,14 +54,14 @@ public class UrlEncodingConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                UrlEncodingSerializerSession x = 
UrlEncodingSerializer.create().apply(al).build().getSession();
                check("true", x.isExpandedParams());
        }
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                UrlEncodingParserSession x = 
UrlEncodingParser.create().apply(al).build().getSession();
                check("true", x.isExpandedParams());
        }
@@ -76,14 +76,14 @@ public class UrlEncodingConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                UrlEncodingSerializerSession x = 
UrlEncodingSerializer.create().apply(al).build().getSession();
                check("false", x.isExpandedParams());
        }
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                UrlEncodingParserSession x = 
UrlEncodingParser.create().apply(al).build().getSession();
                check("false", x.isExpandedParams());
        }
@@ -97,14 +97,14 @@ public class UrlEncodingConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                UrlEncodingSerializerSession x = 
UrlEncodingSerializer.create().apply(al).build().getSession();
                check("false", x.isExpandedParams());
        }
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                UrlEncodingParserSession x = 
UrlEncodingParser.create().apply(al).build().getSession();
                check("false", x.isExpandedParams());
        }
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 ecb6377..352370e 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
@@ -104,7 +104,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void basicSerializer() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                XmlSerializerSession x = 
XmlSerializer.create().apply(al).build().getSession();
                check("true", x.isAddBeanTypes());
                check("true", x.isAddNamespaceUrisToRoot());
@@ -116,7 +116,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void basicParser() throws Exception {
-               AnnotationWorkList al = a.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
a.getAnnotationList());
                XmlParserSession x = 
XmlParser.create().apply(al).build().getSession();
                check("AA", x.getEventAllocator());
                check("true", x.isPreserveRootElement());
@@ -135,7 +135,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void noValuesSerializer() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                XmlSerializerSession x = 
XmlSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddNamespaceUrisToRoot());
@@ -147,7 +147,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void noValuesParser() throws Exception {
-               AnnotationWorkList al = b.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
b.getAnnotationList());
                XmlParserSession x = 
XmlParser.create().apply(al).build().getSession();
                check(null, x.getEventAllocator());
                check("false", x.isPreserveRootElement());
@@ -165,7 +165,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void noAnnotationSerializer() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                XmlSerializerSession x = 
XmlSerializer.create().apply(al).build().getSession();
                check("false", x.isAddBeanTypes());
                check("false", x.isAddNamespaceUrisToRoot());
@@ -177,7 +177,7 @@ public class XmlConfigAnnotationTest {
 
        @Test
        public void noAnnotationParser() throws Exception {
-               AnnotationWorkList al = c.getAnnotationList().getWork(sr);
+               AnnotationWorkList al = AnnotationWorkList.of(sr, 
c.getAnnotationList());
                XmlParserSession x = 
XmlParser.create().apply(al).build().getSession();
                check(null, x.getEventAllocator());
                check("false", x.isPreserveRootElement());

Reply via email to