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 e0faa10  Replace Null classes with void and Void.
e0faa10 is described below

commit e0faa106d83117256cee0d3440546344ea69805a
Author: JamesBognar <[email protected]>
AuthorDate: Fri Feb 18 17:16:47 2022 -0500

    Replace Null classes with void and Void.
---
 .../java/org/apache/juneau/AnnotationApplier.java  |  5 ++--
 .../main/java/org/apache/juneau/BeanContext.java   |  3 +-
 .../main/java/org/apache/juneau/BeanFilter.java    | 32 ++++++----------------
 .../java/org/apache/juneau/BeanPropertyMeta.java   |  4 +--
 .../src/main/java/org/apache/juneau/ClassMeta.java |  2 +-
 .../java/org/apache/juneau/MarshalledFilter.java   | 12 ++++----
 .../main/java/org/apache/juneau/PropertyNamer.java |  2 +-
 .../java/org/apache/juneau/annotation/Bean.java    | 10 +++----
 .../apache/juneau/annotation/BeanAnnotation.java   |  4 +--
 .../org/apache/juneau/annotation/BeanConfig.java   |  2 +-
 .../java/org/apache/juneau/annotation/Beanp.java   |  2 +-
 .../apache/juneau/annotation/BeanpAnnotation.java  |  2 +-
 .../java/org/apache/juneau/annotation/Builder.java |  2 +-
 .../org/apache/juneau/annotation/Marshalled.java   |  2 +-
 .../juneau/annotation/MarshalledAnnotation.java    |  2 +-
 .../java/org/apache/juneau/annotation/Null.java    | 22 ---------------
 .../java/org/apache/juneau/annotation/Swap.java    |  4 +--
 .../apache/juneau/annotation/SwapAnnotation.java   |  2 +-
 .../main/java/org/apache/juneau/cp/BeanStore.java  |  5 ++--
 .../main/java/org/apache/juneau/cp/FileFinder.java |  2 +-
 .../org/apache/juneau/html/HtmlDocTemplate.java    |  2 +-
 .../juneau/html/annotation/HtmlDocConfig.java      |  2 +-
 .../apache/juneau/http/annotation/FormData.java    |  4 +--
 .../juneau/http/annotation/FormDataAnnotation.java |  4 +--
 .../org/apache/juneau/http/annotation/Header.java  |  4 +--
 .../juneau/http/annotation/HeaderAnnotation.java   |  4 +--
 .../org/apache/juneau/http/annotation/Path.java    |  4 +--
 .../juneau/http/annotation/PathAnnotation.java     |  4 +--
 .../org/apache/juneau/http/annotation/Query.java   |  4 +--
 .../juneau/http/annotation/QueryAnnotation.java    |  4 +--
 .../org/apache/juneau/http/annotation/Request.java |  4 +--
 .../juneau/http/annotation/RequestAnnotation.java  |  4 +--
 .../apache/juneau/http/annotation/Response.java    |  4 +--
 .../juneau/http/annotation/ResponseAnnotation.java |  4 +--
 .../org/apache/juneau/http/header/HeaderList.java  |  2 +-
 .../java/org/apache/juneau/http/remote/Remote.java |  2 +-
 .../org/apache/juneau/httppart/HttpPartParser.java |  2 +-
 .../org/apache/juneau/httppart/HttpPartSchema.java |  8 +++---
 .../apache/juneau/httppart/HttpPartSerializer.java |  2 +-
 .../juneau/httppart/bean/RequestBeanMeta.java      |  8 +++---
 .../juneau/httppart/bean/ResponseBeanMeta.java     |  7 ++---
 .../org/apache/juneau/internal/ClassUtils.java     | 28 +++++++++++++++++++
 .../org/apache/juneau/internal/StringUtils.java    |  5 ++++
 .../apache/juneau/jsonschema/BeanDefMapper.java    |  2 +-
 .../jsonschema/annotation/JsonSchemaConfig.java    |  2 +-
 .../org/apache/juneau/parser/ParserListener.java   |  2 +-
 .../juneau/parser/annotation/ParserConfig.java     |  2 +-
 .../juneau/serializer/SerializerListener.java      |  2 +-
 .../serializer/annotation/SerializerConfig.java    |  2 +-
 .../org/apache/juneau/swap/BeanInterceptor.java    |  6 ++--
 .../java/org/apache/juneau/swap/BuilderSwap.java   |  5 ++--
 .../org/apache/juneau/xml/XmlEventAllocator.java   |  2 +-
 .../java/org/apache/juneau/xml/XmlReporter.java    |  2 +-
 .../java/org/apache/juneau/xml/XmlResolver.java    |  2 +-
 .../apache/juneau/xml/annotation/XmlConfig.java    |  6 ++--
 .../juneau/rest/client/remote/RemoteMeta.java      |  9 +++---
 .../rest/client/remote/RemoteOperationMeta.java    |  6 ++--
 .../java/org/apache/juneau/rest/RestChildren.java  |  4 +--
 .../java/org/apache/juneau/rest/RestContext.java   | 20 ++++++--------
 .../java/org/apache/juneau/rest/RestOpContext.java |  4 +--
 .../org/apache/juneau/rest/RestOperations.java     |  4 +--
 .../org/apache/juneau/rest/annotation/Attr.java    |  2 +-
 .../org/apache/juneau/rest/annotation/Rest.java    | 26 +++++++++---------
 .../juneau/rest/annotation/RestAnnotation.java     | 26 +++++++++---------
 .../apache/juneau/rest/annotation/RestDelete.java  |  2 +-
 .../rest/annotation/RestDeleteAnnotation.java      |  2 +-
 .../org/apache/juneau/rest/annotation/RestGet.java |  2 +-
 .../juneau/rest/annotation/RestGetAnnotation.java  |  2 +-
 .../org/apache/juneau/rest/annotation/RestOp.java  |  2 +-
 .../juneau/rest/annotation/RestOpAnnotation.java   |  2 +-
 .../apache/juneau/rest/annotation/RestPost.java    |  2 +-
 .../juneau/rest/annotation/RestPostAnnotation.java |  2 +-
 .../org/apache/juneau/rest/annotation/RestPut.java |  2 +-
 .../juneau/rest/annotation/RestPutAnnotation.java  |  2 +-
 .../apache/juneau/rest/debug/DebugEnablement.java  |  2 +-
 .../org/apache/juneau/rest/logging/RestLogger.java |  2 +-
 .../juneau/rest/matcher/ClientVersionMatcher.java  |  2 +-
 .../apache/juneau/rest/staticfile/StaticFiles.java |  2 +-
 .../rest/swagger/BasicSwaggerProviderSession.java  |  2 +-
 .../juneau/rest/swagger/SwaggerProvider.java       |  2 +-
 .../java/org/apache/juneau/cp/BeanStore_Test.java  |  2 +-
 .../apache/juneau/http/header/HeaderList_Test.java |  2 +-
 .../rest/annotation/RestAnnotation_Test.java       |  2 +-
 83 files changed, 205 insertions(+), 206 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
index 6fedfd7..e04d450 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
@@ -13,6 +13,7 @@
 package org.apache.juneau;
 
 import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 
 import java.lang.annotation.*;
@@ -150,13 +151,13 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
        }
 
        /**
-        * Returns the specified value if it's simple name is not 
<js>"Null"</js>.
+        * Returns the specified value if it's simple name is not 
<js>"void"</js>.
         *
         * @param in The value to return.
         * @return An optional containing the specified value.
         */
        protected <T> Optional<Class<T>> type(Class<T> in) {
-               return optional(in.getSimpleName().equals("Null") ? null : in);
+               return optional(in).filter(NOT_VOID);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index cbf5d70..5303994 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -14,6 +14,7 @@ package org.apache.juneau;
 
 import static org.apache.juneau.Visibility.*;
 import static org.apache.juneau.collections.OMap.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
@@ -4083,7 +4084,7 @@ public class BeanContext extends Context {
 
                if (p != null) {
 
-                       if (p.type() != Null.class)
+                       if (isNotVoid(p.type()))
                                cm2 = resolveClassMeta(p.type(), typeVarImpls);
 
                        if (cm2.isMap()) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
index 94d0da8..7b3db96 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
@@ -15,6 +15,7 @@ package org.apache.juneau;
 import java.beans.*;
 import java.util.*;
 
+import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
@@ -98,9 +99,6 @@ public final class BeanFilter {
                                if (! (b.properties().isEmpty() && 
b.p().isEmpty()))
                                        properties(b.properties(), b.p());
 
-                               if (! b.typeName().isEmpty())
-                                       typeName(b.typeName());
-
                                if (b.sort())
                                        sortProperties(true);
 
@@ -116,26 +114,14 @@ public final class BeanFilter {
                                if (! (b.writeOnlyProperties().isEmpty() && 
b.wo().isEmpty()))
                                        
writeOnlyProperties(b.writeOnlyProperties(), b.wo());
 
-                               if (b.propertyNamer() != 
BasicPropertyNamer.class)
-                                       propertyNamer(b.propertyNamer());
-
-                               if (b.interfaceClass() != Null.class)
-                                       interfaceClass(b.interfaceClass());
-
-                               if (b.stopClass() != Null.class)
-                                       stopClass(b.stopClass());
-
-                               if (b.dictionary().length > 0)
-                                       dictionary(b.dictionary());
-
-                               if (b.interceptor() != 
BeanInterceptor.Default.class)
-                                       interceptor(b.interceptor());
-
-                               if (b.implClass() != Null.class)
-                                       implClass(b.implClass());
-
-                               if (! b.example().isEmpty())
-                                       example(b.example());
+                               
optional(b.typeName()).filter(NOT_EMPTY).ifPresent(x -> typeName(x));
+                               
optional(b.propertyNamer()).filter(NOT_VOID).ifPresent(x -> propertyNamer(x));
+                               
optional(b.interfaceClass()).filter(NOT_VOID).ifPresent(x -> interfaceClass(x));
+                               
optional(b.stopClass()).filter(NOT_VOID).ifPresent(x -> stopClass(x));
+                               
optional(b.interceptor()).filter(NOT_VOID).ifPresent(x -> interceptor(x));
+                               
optional(b.implClass()).filter(NOT_VOID).ifPresent(x -> implClass(x));
+                               optional(b.dictionary()).filter(x -> x.length > 
0).ifPresent(x -> dictionary(x));
+                               
optional(b.example()).filter(NOT_EMPTY).ifPresent(x -> example(x));
                        }
                        return this;
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 679174a..61c0d89 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -325,9 +325,9 @@ public final class BeanPropertyMeta {
 
                private ObjectSwap getPropertySwap(Swap s) throws 
RuntimeException {
                        Class<?> c = s.value();
-                       if (c == Null.class)
+                       if (isVoid(c))
                                c = s.impl();
-                       if (c == Null.class)
+                       if (isVoid(c))
                                return null;
                        ClassInfo ci = ClassInfo.of(c);
                        if (ci.isChildOf(ObjectSwap.class)) {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index e1eec4f..5b3133c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -724,7 +724,7 @@ public final class ClassMeta<T> implements Type {
 
                private ObjectSwap<T,?> createSwap(Swap s) {
                        Class<?> c = s.value();
-                       if (c == Null.class)
+                       if (ClassUtils.isVoid(c))
                                c = s.impl();
                        ClassInfo ci = ClassInfo.of(c);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java
index 2fbda5d..70ae4fd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MarshalledFilter.java
@@ -12,6 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.CollectionUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
@@ -79,12 +83,8 @@ public final class MarshalledFilter {
                public Builder applyAnnotations(List<Marshalled> annotations) {
 
                        for (Marshalled b : annotations) {
-
-                               if (b.implClass() != Null.class)
-                                       implClass(b.implClass());
-
-                               if (! b.example().isEmpty())
-                                       example(b.example());
+                               
optional(b.implClass()).filter(NOT_VOID).ifPresent(x -> implClass(x));
+                               
optional(b.example()).filter(NOT_EMPTY).ifPresent(x -> example(x));
                        }
                        return this;
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamer.java
index 01613d6..80df138 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamer.java
@@ -33,7 +33,7 @@ public interface PropertyNamer {
        /**
         * Represents a non-existent class.
         */
-       public interface Null extends PropertyNamer {}
+       public interface Void extends PropertyNamer {}
 
        /**
         * Convert the specified default property name to some other value.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index 49d9ae4..be6f789 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -170,7 +170,7 @@ public @interface Bean {
         *      <jk>public class</jk> MyInterface {...}
         * <p>
         */
-       Class<?> implClass() default Null.class;
+       Class<?> implClass() default void.class;
 
        /**
         * Bean property interceptor.
@@ -182,7 +182,7 @@ public @interface Bean {
         *      <li class='jc'>{@link BeanInterceptor}
         * </ul>
         */
-       Class<? extends BeanInterceptor<?>> interceptor() default 
BeanInterceptor.Default.class;
+       Class<? extends BeanInterceptor<?>> interceptor() default 
BeanInterceptor.Void.class;
 
        /**
         * Identifies a class to be used as the interface class for this and 
all subclasses.
@@ -211,7 +211,7 @@ public @interface Bean {
         * Note that this annotation can be used on the parent class so that it 
filters to all child classes,
         * or can be set individually on the child classes.
         */
-       Class<?> interfaceClass() default Null.class;
+       Class<?> interfaceClass() default void.class;
 
        /**
         * Dynamically apply this annotation to the specified classes.
@@ -324,7 +324,7 @@ public @interface Bean {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#propertyNamer(Class)}
         * </ul>
         */
-       Class<? extends PropertyNamer> propertyNamer() default 
BasicPropertyNamer.class;
+       Class<? extends PropertyNamer> propertyNamer() default 
PropertyNamer.Void.class;
 
        /**
         * Read-only bean properties.
@@ -403,7 +403,7 @@ public @interface Bean {
         *      }
         * </p>
         */
-       Class<?> stopClass() default Null.class;
+       Class<?> stopClass() default void.class;
 
        /**
         * An identifying name for this class.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
index 30c2bf4..952e879 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
@@ -116,8 +116,8 @@ public class BeanAnnotation {
        public static class Builder extends TargetedAnnotationTBuilder {
 
                Class<?>[] dictionary = new Class[0];
-               Class<?> implClass=Null.class, interfaceClass=Null.class, 
stopClass=Null.class;
-               Class<? extends BeanInterceptor<?>> 
interceptor=BeanInterceptor.Default.class;
+               Class<?> implClass=void.class, interfaceClass=void.class, 
stopClass=void.class;
+               Class<? extends BeanInterceptor<?>> 
interceptor=BeanInterceptor.Void.class;
                Class<? extends PropertyNamer> 
propertyNamer=BasicPropertyNamer.class;
                String example="", excludeProperties="", p="", properties="", 
readOnlyProperties="", ro="", typeName="", typePropertyName="", wo="", 
writeOnlyProperties="", xp="";
                boolean findFluentSetters, sort;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
index 495cde0..9223bdd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
@@ -742,7 +742,7 @@ public @interface BeanConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.BeanContext.Builder#propertyNamer(Class)}
         * </ul>
         */
-       Class<? extends PropertyNamer> propertyNamer() default 
PropertyNamer.Null.class;
+       Class<? extends PropertyNamer> propertyNamer() default 
PropertyNamer.Void.class;
 
        /**
         * Configuration property:  Sort bean properties.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
index a371efd..6b533e3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
@@ -415,7 +415,7 @@ public @interface Beanp {
         *      }
         * </p>
         */
-       Class<?> type() default Null.class;
+       Class<?> type() default void.class;
 
        /**
         * A synonym for {@link #name()}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
index 6a1fda2..ba9e479 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
@@ -94,7 +94,7 @@ public class BeanpAnnotation {
         */
        public static class Builder extends TargetedAnnotationMFBuilder {
 
-               Class<?> type=Null.class;
+               Class<?> type=void.class;
                Class<?>[] dictionary=new Class[0], params=new Class[0];
                String format="", name="", properties="", ro="", value="", 
wo="";
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
index 47c265c..5a0ad6b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
@@ -65,5 +65,5 @@ public @interface Builder {
        /**
         * The builder for this class.
         */
-       Class<?> value() default Null.class;
+       Class<?> value() default void.class;
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
index 7b78a5a..eaa2bc8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
@@ -97,7 +97,7 @@ public @interface Marshalled {
         *      <jk>public class</jk> MyInterface {...}
         * <p>
         */
-       Class<?> implClass() default Null.class;
+       Class<?> implClass() default void.class;
 
        /**
         * Dynamically apply this annotation to the specified classes.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
index 16189ae..14e18a9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
@@ -95,7 +95,7 @@ public class MarshalledAnnotation {
         */
        public static class Builder extends TargetedAnnotationTBuilder {
 
-               Class<?> implClass=Null.class;
+               Class<?> implClass=void.class;
                String example="";
 
                /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Null.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Null.java
deleted file mode 100644
index 3ba43a8..0000000
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Null.java
+++ /dev/null
@@ -1,22 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.annotation;
-
-/**
- * Represents a null entry in a class annotation.
- *
- * <ul class='seealso'>
- *     <li class='extlink'>{@source}
- * </ul>
- */
-public class Null {}
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
index 7ef0393..58566d3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
@@ -49,7 +49,7 @@ public @interface Swap {
         * <p>
         * A synonym for {@link #value()}.
         */
-       Class<?> impl() default Null.class;
+       Class<?> impl() default void.class;
 
        /**
         * Identifies the media types that this swap is applicable for.
@@ -213,5 +213,5 @@ public @interface Swap {
         * <p>
         * A synonym for {@link #impl()}.
         */
-       Class<?> value() default Null.class;
+       Class<?> value() default void.class;
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
index ca4bedb..3ad455b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
@@ -100,7 +100,7 @@ public class SwapAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMFBuilder {
 
-               Class<?> impl=Null.class, value=Null.class;
+               Class<?> impl=void.class, value=void.class;
                String template="";
                String[] mediaTypes={};
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
index 2e1cfe7..388f77f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStore.java
@@ -14,6 +14,7 @@ package org.apache.juneau.cp;
 
 import static org.apache.juneau.collections.OMap.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
+import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
 import static java.util.stream.Collectors.*;
 
@@ -86,7 +87,7 @@ public class BeanStore {
        /**
         * Non-existent bean store.
         */
-       public static final class Null extends BeanStore {}
+       public static final class Void extends BeanStore {}
 
        /**
         * Static read-only reusable instance.
@@ -674,7 +675,7 @@ public class BeanStore {
        private String findBeanName(ParamInfo pi) {
                Annotation n = pi.getAnnotation(Annotation.class, x -> 
x.annotationType().getSimpleName().equals("Named"));
                if (n != null)
-                       return AnnotationInfo.of((ClassInfo)null, 
n).getValue(String.class, "value", StringUtils::isNotEmpty).orElse(null);
+                       return AnnotationInfo.of((ClassInfo)null, 
n).getValue(String.class, "value", NOT_EMPTY).orElse(null);
                return null;
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/FileFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/FileFinder.java
index 707a5ae..d7d4139 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/FileFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/FileFinder.java
@@ -93,7 +93,7 @@ public interface FileFinder {
        
//-----------------------------------------------------------------------------------------------------------------
 
        /** Represents no file finder */
-       public abstract class Null implements FileFinder {}
+       public abstract class Void implements FileFinder {}
 
        /**
         * Static creator.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocTemplate.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocTemplate.java
index 19a443d..eb9486c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocTemplate.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocTemplate.java
@@ -63,7 +63,7 @@ public interface HtmlDocTemplate {
        /**
         * Represents a non-existent doc template.
         */
-       public interface Null extends HtmlDocTemplate {}
+       public interface Void extends HtmlDocTemplate {}
 
        /**
         * Renders the contents of the <code><xt>&lt;head&gt;</xt></code> 
element.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
index eb78d31..96b2422 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
@@ -561,7 +561,7 @@ public @interface HtmlDocConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.html.HtmlDocSerializer.Builder#template(Class)}
         * </ul>
         */
-       Class<? extends HtmlDocTemplate> template() default 
HtmlDocTemplate.Null.class;
+       Class<? extends HtmlDocTemplate> template() default 
HtmlDocTemplate.Void.class;
 
        /**
         * Configuration property:  HTML Widgets.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
index 5ae074c..a9331ce 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
@@ -214,7 +214,7 @@ public @interface FormData {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * <mk>schema</mk> field of the {@doc ext.SwaggerParameterObject}.
@@ -245,7 +245,7 @@ public @interface FormData {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
client which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 
        /**
         * A synonym for {@link #name()}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
index 069f4b4..bff3515 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
@@ -108,8 +108,8 @@ public class FormDataAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMFBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
                Schema schema = SchemaAnnotation.DEFAULT;
                String name="", value="";
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
index 553e0ac..0bdae59 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
@@ -175,7 +175,7 @@ public @interface Header {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * <mk>schema</mk> field of the {@doc ext.SwaggerParameterObject}.
@@ -206,7 +206,7 @@ public @interface Header {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
client which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 
        /**
         * A synonym for {@link #name()}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
index d81bf59..019fd18 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
@@ -109,8 +109,8 @@ public class HeaderAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMFBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
                Schema schema = SchemaAnnotation.DEFAULT;
                String name="", value="";
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
index 1625e97..9ad60a0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
@@ -180,7 +180,7 @@ public @interface Path {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * <mk>schema</mk> field of the {@doc ext.SwaggerParameterObject}.
@@ -211,7 +211,7 @@ public @interface Path {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
client which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 
        /**
         * A synonym for {@link #name()}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
index 4071f6d..c67d14d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
@@ -108,8 +108,8 @@ public class PathAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMFBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
                Schema schema = SchemaAnnotation.DEFAULT;
                String name="", value="";
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
index e4e1d04..24e3971 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
@@ -186,7 +186,7 @@ public @interface Query {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * <mk>schema</mk> field of the {@doc ext.SwaggerParameterObject}.
@@ -217,7 +217,7 @@ public @interface Query {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
client which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 
        /**
         * A synonym for {@link #name()}.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
index cdb1f75..2c752fa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
@@ -108,8 +108,8 @@ public class QueryAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMFBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
                Schema schema = SchemaAnnotation.DEFAULT;
                String name="", value="";
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
index cf5b278..33a2d80 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
@@ -175,7 +175,7 @@ public @interface Request {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * Specifies the {@link HttpPartSerializer} class used for serializing 
values to strings.
@@ -183,5 +183,5 @@ public @interface Request {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
client which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
index 124a477..2490587 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
@@ -80,8 +80,8 @@ public class RequestAnnotation {
         */
        public static class Builder extends TargetedAnnotationTBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
 
                /**
                 * Constructor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
index 02cc8b5..76cf08c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
@@ -130,7 +130,7 @@ public @interface Response {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        /**
         * <mk>schema</mk> field of the {@doc ext.SwaggerResponseObject}.
@@ -151,5 +151,5 @@ public @interface Response {
         * <p>
         * Overrides for this part the part serializer defined on the REST 
resource which by default is {@link OpenApiSerializer}.
         */
-       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> serializer() default 
HttpPartSerializer.Void.class;
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
index 4c52c15..e7b75c2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
@@ -93,8 +93,8 @@ public class ResponseAnnotation {
         */
        public static class Builder extends TargetedAnnotationTMBuilder {
 
-               Class<? extends HttpPartParser> parser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Null.class;
+               Class<? extends HttpPartParser> parser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> serializer = 
HttpPartSerializer.Void.class;
                Header[] headers={};
                Schema schema = SchemaAnnotation.DEFAULT;
                String[] examples={};
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
index 762cf56..8d060c2 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -181,7 +181,7 @@ public class HeaderList {
        private static final Predicate<Header> NOT_NULL = x -> x != null;
 
        /** Represents no header supplier in annotations. */
-       public static final class Null extends HeaderList {}
+       public static final class Void extends HeaderList {}
 
        /** Predefined instance. */
        public static final HeaderList EMPTY = new HeaderList();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
index ed47f03..8a0307d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
@@ -77,7 +77,7 @@ public @interface Remote {
         *              Supplier class must provide a public no-arg constructor.
         * </ul>
         */
-       Class<? extends HeaderList> headerList() default HeaderList.Null.class;
+       Class<? extends HeaderList> headerList() default HeaderList.Void.class;
 
        /**
         * Specifies the client version of this interface.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParser.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParser.java
index fdbd460..17defa7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParser.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParser.java
@@ -48,7 +48,7 @@ public interface HttpPartParser {
         * <p>
         * Used to represent the absence of a part parser in annotations.
         */
-       public static interface Null extends HttpPartParser {}
+       public static interface Void extends HttpPartParser {}
 
        /**
         * Instantiates a creator for a part parser.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index 6c682b4..3341272 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -3125,11 +3125,11 @@ public class HttpPartSchema {
                 *
                 * @param value
                 *      The new value for this property.
-                *      <br>Ignored if value is <jk>null</jk> or {@link 
HttpPartSerializer.Null}.
+                *      <br>Ignored if value is <jk>null</jk> or {@link 
HttpPartSerializer.Void}.
                 * @return This object.
                 */
                public Builder serializer(Class<? extends HttpPartSerializer> 
value) {
-                       if (value != null && value != 
HttpPartSerializer.Null.class)
+                       if (isNotVoid(value))
                                serializer = value;
                        return this;
                }
@@ -3139,11 +3139,11 @@ public class HttpPartSchema {
                 *
                 * @param value
                 *      The new value for this property.
-                *      <br>Ignored if value is <jk>null</jk> or {@link 
HttpPartParser.Null}.
+                *      <br>Ignored if value is <jk>null</jk> or {@link 
HttpPartParser.Void}.
                 * @return This object.
                 */
                public Builder parser(Class<? extends HttpPartParser> value) {
-                       if (value != null && value != HttpPartParser.Null.class)
+                       if (isNotVoid(value))
                                parser = value;
                        return this;
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSerializer.java
index a8db4f6..397ad08 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSerializer.java
@@ -60,7 +60,7 @@ public interface HttpPartSerializer {
         * <p>
         * Used to represent the absence of a part serializer in annotations.
         */
-       public static interface Null extends HttpPartSerializer {}
+       public static interface Void extends HttpPartSerializer {}
 
        /**
         * Instantiates a creator for a part serializer.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
index 7311918..df343c3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanMeta.java
@@ -13,6 +13,8 @@
 package org.apache.juneau.httppart.bean;
 
 import static org.apache.juneau.httppart.bean.Utils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
+import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.httppart.HttpPartType.*;
 
 import java.util.*;
@@ -126,10 +128,8 @@ public class RequestBeanMeta {
 
                Builder apply(Request a) {
                        if (a != null) {
-                               if (a.serializer() != 
HttpPartSerializer.Null.class)
-                                       serializer.type(a.serializer());
-                               if (a.parser() != HttpPartParser.Null.class)
-                                       parser.type(a.parser());
+                               
optional(a.serializer()).filter(NOT_VOID).ifPresent(x -> serializer.type(x));
+                               
optional(a.parser()).filter(NOT_VOID).ifPresent(x -> parser.type(x));
                        }
                        return this;
                }
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 610489f..557b9d8 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
@@ -13,6 +13,7 @@
 package org.apache.juneau.httppart.bean;
 
 import static org.apache.juneau.httppart.bean.Utils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.httppart.HttpPartType.*;
 import static org.apache.juneau.annotation.InvalidAnnotationException.*;
@@ -179,10 +180,8 @@ public class ResponseBeanMeta {
 
                Builder apply(Response a) {
                        if (a != null) {
-                               if (a.serializer() != 
HttpPartSerializer.Null.class)
-                                       partSerializer = a.serializer();
-                               if (a.parser() != HttpPartParser.Null.class)
-                                       partParser = a.parser();
+                               
optional(a.serializer()).filter(NOT_VOID).ifPresent(x -> partSerializer = x);
+                               
optional(a.parser()).filter(NOT_VOID).ifPresent(x -> partParser = x);
                                schema.apply(a.schema());
                        }
                        return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
index 88d74f1..d30adfa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ClassUtils.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.internal;
 
 import java.lang.reflect.*;
+import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.reflect.*;
@@ -27,6 +28,11 @@ import org.apache.juneau.reflect.*;
 public final class ClassUtils {
 
        /**
+        * Predicate check to filter out void classes.
+        */
+       public static final Predicate<Class<?>> NOT_VOID = x -> isNotVoid(x);
+
+       /**
         * Returns the class types for the specified arguments.
         *
         * @param args The objects we're getting the classes of.
@@ -170,4 +176,26 @@ public final class ClassUtils {
                        return ((Class<?>)value).getSimpleName();
                return value.getClass().getSimpleName();
        }
+
+       /**
+        * Returns <jk>true</jk> if the specific class is <jk>null</jk> or 
<c><jk>void</jk>.<jk>class</jk></c> or {@link Void} or has the simple name 
<js>"Void</js>.
+        *
+        * @param c The class to check.
+        * @return <jk>true</jk> if the specific class is <jk>null</jk> or 
<c><jk>void</jk>.<jk>class</jk></c> or {@link Void} or has the simple name 
<js>"Void</js>.
+        */
+       @SuppressWarnings("rawtypes")
+       public static boolean isVoid(Class c) {
+               return (c == null || c == void.class || c == Void.class || 
c.getSimpleName().equalsIgnoreCase("void"));
+       }
+
+       /**
+        * Returns <jk>false</jk> if the specific class is <jk>null</jk> or 
<c><jk>void</jk>.<jk>class</jk></c> or {@link Void} or has the simple name 
<js>"Void</js>.
+        *
+        * @param c The class to check.
+        * @return <jk>false</jk> if the specific class is <jk>null</jk> or 
<c><jk>void</jk>.<jk>class</jk></c> or {@link Void} or has the simple name 
<js>"Void</js>.
+        */
+       @SuppressWarnings("rawtypes")
+       public static boolean isNotVoid(Class c) {
+               return ! isVoid(c);
+       }
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
index 49800ad..840678a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -48,6 +48,11 @@ import org.apache.juneau.reflect.*;
  */
 public final class StringUtils {
 
+       /**
+        * Predicate check to filter out null and empty strings.
+        */
+       public static final Predicate<String> NOT_EMPTY = x -> isNotEmpty(x);
+
        private static final AsciiSet numberChars = 
AsciiSet.create("-xX.+-#pP0123456789abcdefABCDEF");
        private static final AsciiSet firstNumberChars 
=AsciiSet.create("+-.#0123456789");
        private static final AsciiSet octChars = AsciiSet.create("01234567");
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/BeanDefMapper.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/BeanDefMapper.java
index b42dc83..709a4de 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/BeanDefMapper.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/BeanDefMapper.java
@@ -29,7 +29,7 @@ public interface BeanDefMapper {
        /**
         * Represents the absence of a bean definition mapper class.
         */
-       public interface Null extends BeanDefMapper {}
+       public interface Void extends BeanDefMapper {}
 
        /**
         * Returns the ID for the specified class.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
index 5b16e21..4009bd8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
@@ -187,7 +187,7 @@ public @interface JsonSchemaConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#beanDefMapper(Class)}
         * </ul>
         */
-       Class<? extends BeanDefMapper> beanDefMapper() default 
BeanDefMapper.Null.class;
+       Class<? extends BeanDefMapper> beanDefMapper() default 
BeanDefMapper.Void.class;
 
        /**
         * Configuration property:  Ignore types from schema definitions.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
index 89429f2..3d09d5e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
@@ -29,7 +29,7 @@ public class ParserListener {
        /**
         * Represents no parser listener.
         */
-       public static final class Null extends ParserListener {}
+       public static final class Void extends ParserListener {}
 
        /**
         * Gets called when an unknown bean property is detected in a document.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
index b06ca00..0a0d14d 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
@@ -141,7 +141,7 @@ public @interface ParserConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.parser.Parser.Builder#listener(Class)}
         * </ul>
         */
-       Class<? extends ParserListener> listener() default 
ParserListener.Null.class;
+       Class<? extends ParserListener> listener() default 
ParserListener.Void.class;
 
        /**
         * Configuration property:  Strict mode.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerListener.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerListener.java
index 74efdd9..8bf8a87 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerListener.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerListener.java
@@ -29,7 +29,7 @@ public class SerializerListener {
        /**
         * Represents no serializer listener.
         */
-       public static final class Null extends SerializerListener {}
+       public static final class Void extends SerializerListener {}
 
        /**
         * Called when an exception is thrown when trying to call a bean getter 
method.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
index 66e85bf..2c35151 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
@@ -192,7 +192,7 @@ public @interface SerializerConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.serializer.Serializer.Builder#listener(Class)}
         * </ul>
         */
-       Class<? extends SerializerListener> listener() default 
SerializerListener.Null.class;
+       Class<? extends SerializerListener> listener() default 
SerializerListener.Void.class;
 
        /**
         * Configuration property:  Sort arrays and collections alphabetically.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BeanInterceptor.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BeanInterceptor.java
index ac98a3c..be44f18 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BeanInterceptor.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BeanInterceptor.java
@@ -66,13 +66,13 @@ package org.apache.juneau.swap;
  */
 public class BeanInterceptor<T> {
 
-       /** Default interceptor */
-       public static class Default extends BeanInterceptor<Object> {}
+       /** Non-existent bean interceptor. */
+       public static final class Void extends BeanInterceptor<Object> {}
 
        /**
         * Default reusable property filter instance.
         */
-       public static final BeanInterceptor<Object> DEFAULT = new Default();
+       public static final BeanInterceptor<Object> DEFAULT = new 
BeanInterceptor<>();
 
        /**
         * Property read interceptor.
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
index 418d0fb..956353a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/swap/BuilderSwap.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.swap;
 
+import static org.apache.juneau.internal.ClassUtils.*;
+
 import java.lang.reflect.*;
 import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
 import org.apache.juneau.reflect.*;
 
 /**
@@ -189,7 +190,7 @@ public class BuilderSwap<T,B> {
                ConstructorInfo objectConstructor = null;
                ConstructorInfo builderConstructor;
 
-               
bc.forEachAnnotation(org.apache.juneau.annotation.Builder.class, objectClass, x 
-> x.value() != Null.class, x -> builderClass.set(x.value()));
+               
bc.forEachAnnotation(org.apache.juneau.annotation.Builder.class, objectClass, x 
-> isNotVoid(x.value()), x -> builderClass.set(x.value()));
 
                ClassInfo pci = ClassInfo.of(objectClass);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlEventAllocator.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlEventAllocator.java
index 36af359..cf84608 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlEventAllocator.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlEventAllocator.java
@@ -27,5 +27,5 @@ public abstract class XmlEventAllocator implements 
XMLEventAllocator {
        /**
         * Represents the absence of this class.
         */
-       public static abstract class Null extends XmlEventAllocator {}
+       public static abstract class Void extends XmlEventAllocator {}
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlReporter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlReporter.java
index 535acab..ec629e6 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlReporter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlReporter.java
@@ -27,5 +27,5 @@ public abstract class XmlReporter implements XMLReporter {
        /**
         * Represents the absence of this class.
         */
-       public static abstract class Null extends XmlReporter {}
+       public static abstract class Void extends XmlReporter {}
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlResolver.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlResolver.java
index 4f09d00..1b7fded 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlResolver.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlResolver.java
@@ -27,5 +27,5 @@ public abstract class XmlResolver implements XMLResolver {
        /**
         * Represents the absence of this class.
         */
-       public static abstract class Null extends XmlResolver {}
+       public static abstract class Void extends XmlResolver {}
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
index 2257b6c..015e6a8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
@@ -68,7 +68,7 @@ public @interface XmlConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.xml.XmlParser.Builder#eventAllocator(Class)}
         * </ul>
         */
-       Class<? extends XMLEventAllocator> eventAllocator() default 
XmlEventAllocator.Null.class;
+       Class<? extends XMLEventAllocator> eventAllocator() default 
XmlEventAllocator.Void.class;
 
        /**
         * Configuration property:  Preserve root element during generalized 
parsing.
@@ -109,7 +109,7 @@ public @interface XmlConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.xml.XmlParser.Builder#reporter(Class)}
         * </ul>
         */
-       Class<? extends XMLReporter> reporter() default XmlReporter.Null.class;
+       Class<? extends XMLReporter> reporter() default XmlReporter.Void.class;
 
        /**
         * Configuration property:  XML resolver.
@@ -121,7 +121,7 @@ public @interface XmlConfig {
         *      <li class='jm'>{@link 
org.apache.juneau.xml.XmlParser.Builder#resolver(Class)}
         * </ul>
         */
-       Class<? extends XMLResolver> resolver() default XmlResolver.Null.class;
+       Class<? extends XMLResolver> resolver() default XmlResolver.Void.class;
 
        /**
         * Configuration property:  Enable validation.
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMeta.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMeta.java
index 773e768..94e2372 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMeta.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/remote/RemoteMeta.java
@@ -14,6 +14,7 @@ package org.apache.juneau.rest.client.remote;
 
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
+import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 import java.lang.reflect.*;
@@ -60,15 +61,15 @@ public class RemoteMeta {
                HeaderList.Builder headersBuilder = 
HeaderList.create().resolving();
 
                for (Remote r : remotes) {
-                       if (! r.path().isEmpty())
+                       if (isNotEmpty(r.path()))
                                path = trimSlashes(resolve(r.path()));
                        for (String h : r.headers())
                                headersBuilder.append(stringHeader(resolve(h)));
-                       if (! r.version().isEmpty())
+                       if (isNotEmpty(r.version()))
                                clientVersion = resolve(r.version());
-                       if (! r.versionHeader().isEmpty())
+                       if (isNotEmpty(r.versionHeader()))
                                versionHeader = resolve(r.versionHeader());
-                       if (r.headerList() != HeaderList.Null.class) {
+                       if (isNotVoid(r.headerList())) {
                                try {
                                        
headersBuilder.append(r.headerList().newInstance().getAll());
                                } catch (Exception e) {
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 a146eff..f33e7a1 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
@@ -91,8 +91,8 @@ public class RemoteOperationMeta {
                                al = 
mi.getReturnType().unwrap(Value.class,Optional.class).getAnnotationList(REMOTE_OP_GROUP);
 
                        Value<String> _httpMethod = Value.empty(), _path = 
Value.empty();
-                       al.forEachValue(String.class, "method", 
StringUtils::isNotEmpty, x -> _httpMethod.set(x.trim()));
-                       al.forEachValue(String.class, "path", 
StringUtils::isNotEmpty, x-> _path.set(x.trim()));
+                       al.forEachValue(String.class, "method", NOT_EMPTY, x -> 
_httpMethod.set(x.trim()));
+                       al.forEachValue(String.class, "path", NOT_EMPTY, x-> 
_path.set(x.trim()));
                        httpMethod = _httpMethod.orElse("").trim();
                        path = _path.orElse("").trim();
 
@@ -109,7 +109,7 @@ public class RemoteOperationMeta {
                                        path = v.substring(i).trim();
                                }
                        } else {
-                               al.forEach(x -> ! x.isType(RemoteOp.class) && 
isNotEmpty(x.getValue(String.class, "value", 
StringUtils::isNotEmpty).orElse("").trim()),x -> 
value.set(x.getValue(String.class, "value", 
StringUtils::isNotEmpty).get().trim()));
+                               al.forEach(x -> ! x.isType(RemoteOp.class) && 
isNotEmpty(x.getValue(String.class, "value", NOT_EMPTY).orElse("").trim()),x -> 
value.set(x.getValue(String.class, "value", NOT_EMPTY).get().trim()));
                                if (value.isPresent())
                                        path = value.get();
                        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
index 135ef7a..9f3322f 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
@@ -42,8 +42,8 @@ public class RestChildren {
         * Represents a null value for the {@link Rest#restChildrenClass()} 
annotation.
         */
        @SuppressWarnings("javadoc")
-       public final class Null extends RestChildren {
-               public Null(Builder builder) throws Exception {
+       public final class Void extends RestChildren {
+               public Void(Builder builder) throws Exception {
                        super(builder);
                }
        }
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 b5c50d5..97af85c 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
@@ -128,8 +128,8 @@ public class RestContext extends Context {
        /**
         * Represents a null value for the {@link Rest#contextClass()} 
annotation.
         */
-       public static final class Null extends RestContext {
-               private Null(Builder builder) throws Exception {
+       public static final class Void extends RestContext {
+               private Void(Builder builder) throws Exception {
                        super(builder);
                }
        }
@@ -171,7 +171,7 @@ public class RestContext extends Context {
        public static Builder create(Class<?> resourceClass, RestContext 
parentContext, ServletConfig servletConfig) throws ServletException {
 
                Value<Class<? extends Builder>> v = Value.of(Builder.class);
-               ClassInfo.of(resourceClass).forEachAnnotation(Rest.class, x -> 
x.builder() != Builder.Null.class, x -> v.set(x.builder()));
+               ClassInfo.of(resourceClass).forEachAnnotation(Rest.class, x -> 
isNotVoid(x.builder()), x -> v.set(x.builder()));
 
                if (v.get() == Builder.class)
                        return new Builder(resourceClass, parentContext, 
servletConfig);
@@ -199,8 +199,8 @@ public class RestContext extends Context {
                /**
                 * Represents a <jk>null</jk> value for the {@link 
Rest#builder()} annotation.
                 */
-               public static final class Null extends Builder {
-                       private Null(Class<?> resourceClass, RestContext 
parentContext, ServletConfig servletConfig) {
+               public static final class Void extends Builder {
+                       private Void(Class<?> resourceClass, RestContext 
parentContext, ServletConfig servletConfig) {
                                super(resourceClass, parentContext, 
servletConfig);
                        }
                }
@@ -582,7 +582,7 @@ public class RestContext extends Context {
                        );
 
                        // Apply @Rest(beanStore).
-                       
ClassInfo.of(resourceClass).forEachAnnotation(Rest.class, x -> x.beanStore() != 
BeanStore.Null.class, x -> v.get().type(x.beanStore()));
+                       
ClassInfo.of(resourceClass).forEachAnnotation(Rest.class, x -> 
isNotVoid(x.beanStore()), x -> v.get().type(x.beanStore()));
 
                        // Replace with builder from:  public [static] 
BeanStore.Builder createBeanStore(<args>)
                        v.get().build()
@@ -3518,7 +3518,7 @@ public class RestContext extends Context {
                        // Gather @RestOp(debug) settings.
                        Consumer<MethodInfo> consumer = x -> {
                                Value<String> debug = Value.empty();
-                               
x.getAnnotationList(REST_OP_GROUP).forEachValue(String.class, "debug", 
StringUtils::isNotEmpty, y -> debug.set(y));
+                               
x.getAnnotationList(REST_OP_GROUP).forEachValue(String.class, "debug", 
NOT_EMPTY, y -> debug.set(y));
                                if (debug.isPresent())
                                        
v.get().enable(Enablement.fromString(debug.get()), x.getFullName());
                        };
@@ -5248,8 +5248,7 @@ public class RestContext extends Context {
                 */
                @FluentSetter
                public Builder parserListener(Class<? extends ParserListener> 
value) {
-                       if (value != ParserListener.Null.class)
-                               parsers.forEach(x -> x.listener(value));
+                       optional(value).filter(NOT_VOID).ifPresent(x -> 
parsers.forEach(y -> y.listener(x)));
                        return this;
                }
 
@@ -5511,8 +5510,7 @@ public class RestContext extends Context {
                 */
                @FluentSetter
                public Builder serializerListener(Class<? extends 
SerializerListener> value) {
-                       if (value != SerializerListener.Null.class)
-                               serializers.forEach(x -> x.listener(value));
+                       optional(value).filter(NOT_VOID).ifPresent(x -> 
serializers.forEach(y -> y.listener(x)));
                        return this;
                }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index 2dfc386..0b54cd3 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
@@ -87,8 +87,8 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
        
//-------------------------------------------------------------------------------------------------------------------
 
        /** Represents a null value for the {@link RestOp#contextClass()} 
annotation.*/
-       public static final class Null extends RestOpContext {
-               private Null(Builder builder) throws Exception {
+       public static final class Void extends RestOpContext {
+               private Void(Builder builder) throws Exception {
                        super(builder);
                }
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
index deb0f7c..82da355 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOperations.java
@@ -41,8 +41,8 @@ public class RestOperations {
         * Represents a null value for the {@link Rest#restOperationsClass()} 
annotation.
         */
        @SuppressWarnings("javadoc")
-       public final class Null extends RestOperations {
-               public Null(Builder builder) throws Exception {
+       public final class Void extends RestOperations {
+               public Void(Builder builder) throws Exception {
                        super(builder);
                }
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Attr.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Attr.java
index f80f7ef..45025ef 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Attr.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Attr.java
@@ -61,7 +61,7 @@ public @interface Attr {
         * <p>
         * Overrides for this part the part parser defined on the REST resource 
which by default is {@link OpenApiParser}.
         */
-       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> parser() default 
HttpPartParser.Void.class;
 
        
//=================================================================================================================
        // Attributes common to all Swagger Parameter objects
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 2e3ef11..913f5ef 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -77,7 +77,7 @@ public @interface Rest {
         *      <li>{@link ServletConfig} - The servlet config passed in during 
servlet initialization.
         * </ul>
         */
-       Class<? extends RestContext.Builder> builder() default 
RestContext.Builder.Null.class;
+       Class<? extends RestContext.Builder> builder() default 
RestContext.Builder.Void.class;
 
        /**
         * Disable body URL parameter.
@@ -211,7 +211,7 @@ public @interface Rest {
         *      <li class='link'>{@doc jrs.LoggingAndDebugging}
         * </ul>
         */
-       Class<? extends RestLogger> callLogger() default RestLogger.Null.class;
+       Class<? extends RestLogger> callLogger() default RestLogger.Void.class;
 
        /**
         * The resolver used for resolving instances of child resources and 
various other beans including:
@@ -230,7 +230,7 @@ public @interface Rest {
         *      <li class='link'>{@doc jrs.Injection}
         * </ul>
         */
-       Class<? extends BeanStore> beanStore() default BeanStore.Null.class;
+       Class<? extends BeanStore> beanStore() default BeanStore.Void.class;
 
        /**
         * REST children.
@@ -322,7 +322,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestContext> contextClass() default 
RestContext.Null.class;
+       Class<? extends RestContext> contextClass() default 
RestContext.Void.class;
 
        /**
         * Class-level response converters.
@@ -387,7 +387,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#debugEnablement()}
         * </ul>
         */
-       Class<? extends DebugEnablement> debugEnablement() default 
DebugEnablement.Null.class;
+       Class<? extends DebugEnablement> debugEnablement() default 
DebugEnablement.Void.class;
 
        /**
         * Enable debug mode on specified classes/methods.
@@ -725,7 +725,7 @@ public @interface Rest {
         *      <li class='jm'>{@link RestRequest#getFileFinder()}
         * </ul>
         */
-       Class<? extends FileFinder> fileFinder() default FileFinder.Null.class;
+       Class<? extends FileFinder> fileFinder() default FileFinder.Void.class;
 
        /**
         * Class-level guards.
@@ -884,7 +884,7 @@ public @interface Rest {
         * <p>
         * Specifies the {@link HttpPartParser} to use for parsing headers, 
query/form parameters, and URI parts.
         */
-       Class<? extends HttpPartParser> partParser() default 
HttpPartParser.Null.class;
+       Class<? extends HttpPartParser> partParser() default 
HttpPartParser.Void.class;
 
        /**
         * HTTP part serializer.
@@ -892,7 +892,7 @@ public @interface Rest {
         * <p>
         * Specifies the {@link HttpPartSerializer} to use for serializing 
headers, query/form parameters, and URI parts.
         */
-       Class<? extends HttpPartSerializer> partSerializer() default 
HttpPartSerializer.Null.class;
+       Class<? extends HttpPartSerializer> partSerializer() default 
HttpPartSerializer.Void.class;
 
        /**
         * Resource path.
@@ -1046,7 +1046,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#restChildrenClass(Class)}
         * </ul>
         */
-       Class<? extends RestChildren> restChildrenClass() default 
RestChildren.Null.class;
+       Class<? extends RestChildren> restChildrenClass() default 
RestChildren.Void.class;
 
        /**
         * REST methods class.
@@ -1058,7 +1058,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#restOperationsClass(Class)}
         * </ul>
         */
-       Class<? extends RestOperations> restOperationsClass() default 
RestOperations.Null.class;
+       Class<? extends RestOperations> restOperationsClass() default 
RestOperations.Void.class;
 
        /**
         * Allows you to extend the {@link RestOpContext} class to modify how 
any of the methods are implemented.
@@ -1067,7 +1067,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#restOpContextClass(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> restOpContextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> restOpContextClass() default 
RestOpContext.Void.class;
 
        /**
         * Java REST operation method parameter resolvers.
@@ -1269,7 +1269,7 @@ public @interface Rest {
         *      <li>Static files are are executed child-to-parent in the order 
they appear in the annotation.
         * </ul>
         */
-       Class<? extends StaticFiles> staticFiles() default 
StaticFiles.Null.class;
+       Class<? extends StaticFiles> staticFiles() default 
StaticFiles.Void.class;
 
        /**
         * Provides swagger-specific metadata on this resource.
@@ -1307,7 +1307,7 @@ public @interface Rest {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestContext.Builder#swaggerProvider(Class)}
         * </ul>
         */
-       Class<? extends SwaggerProvider> swaggerProvider() default 
SwaggerProvider.Null.class;
+       Class<? extends SwaggerProvider> swaggerProvider() default 
SwaggerProvider.Void.class;
 
        /**
         * Optional servlet title.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index 0bf85fe..715a43d 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -97,24 +97,24 @@ public class RestAnnotation {
        @SuppressWarnings("unchecked")
        public static class Builder extends TargetedAnnotationTBuilder {
 
-               Class<? extends RestContext.Builder> builder = 
RestContext.Builder.Null.class;
+               Class<? extends RestContext.Builder> builder = 
RestContext.Builder.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
-               Class<? extends HttpPartParser> partParser = 
HttpPartParser.Null.class;
-               Class<? extends HttpPartSerializer> partSerializer = 
HttpPartSerializer.Null.class;
-               Class<? extends FileFinder> fileFinder = FileFinder.Null.class;
-               Class<? extends StaticFiles> staticFiles = 
StaticFiles.Null.class;
+               Class<? extends HttpPartParser> partParser = 
HttpPartParser.Void.class;
+               Class<? extends HttpPartSerializer> partSerializer = 
HttpPartSerializer.Void.class;
+               Class<? extends FileFinder> fileFinder = FileFinder.Void.class;
+               Class<? extends StaticFiles> staticFiles = 
StaticFiles.Void.class;
                Class<? extends ResponseProcessor>[] responseProcessors = new 
Class[0];
-               Class<? extends RestLogger> callLogger = RestLogger.Null.class;
-               Class<? extends RestContext> contextClass = 
RestContext.Null.class;
+               Class<? extends RestLogger> callLogger = RestLogger.Void.class;
+               Class<? extends RestContext> contextClass = 
RestContext.Void.class;
                Class<? extends RestConverter>[] converters = new Class[0];
                Class<? extends RestGuard>[] guards = new Class[0];
-               Class<? extends SwaggerProvider> swaggerProvider = 
SwaggerProvider.Null.class;
+               Class<? extends SwaggerProvider> swaggerProvider = 
SwaggerProvider.Void.class;
                Class<? extends RestOpArg>[] restOpArgs = new Class[0];
-               Class<? extends BeanStore> beanStore = BeanStore.Null.class;
-               Class<? extends RestOpContext> restOpContextClass = 
RestOpContext.Null.class;
-               Class<? extends RestChildren> restChildrenClass = 
RestChildren.Null.class;
-               Class<? extends RestOperations> restOperationsClass = 
RestOperations.Null.class;
-               Class<? extends DebugEnablement> debugEnablement = 
DebugEnablement.Null.class;
+               Class<? extends BeanStore> beanStore = BeanStore.Void.class;
+               Class<? extends RestOpContext> restOpContextClass = 
RestOpContext.Void.class;
+               Class<? extends RestChildren> restChildrenClass = 
RestChildren.Void.class;
+               Class<? extends RestOperations> restOperationsClass = 
RestOperations.Void.class;
+               Class<? extends DebugEnablement> debugEnablement = 
DebugEnablement.Void.class;
                Class<? extends Serializer>[] serializers = new Class[0];
                Class<?>[] children={}, parsers={};
                Swagger swagger = SwaggerAnnotation.DEFAULT;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDelete.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDelete.java
index 15c95b9..87b9112 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDelete.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDelete.java
@@ -114,7 +114,7 @@ public @interface RestDelete {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestOpContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Void.class;
 
        /**
         * Enable debug mode.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
index 65c5362..6f9808a 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
@@ -71,7 +71,7 @@ public class RestDeleteAnnotation {
 
                Class<? extends RestGuard>[] guards = new Class[0];
                Class<? extends RestMatcher>[] matchers = new Class[0];
-               Class<? extends RestOpContext> contextClass = 
RestOpContext.Null.class;
+               Class<? extends RestOpContext> contextClass = 
RestOpContext.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
                OpSwagger swagger = OpSwaggerAnnotation.DEFAULT;
                String clientVersion="", debug="", defaultAccept="", 
defaultCharset="", rolesDeclared="", roleGuard="", summary="", value="";
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGet.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGet.java
index ac6684f..fb0531e 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGet.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGet.java
@@ -120,7 +120,7 @@ public @interface RestGet {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestOpContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Void.class;
 
        /**
         * Class-level response converters.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
index 9ace3ad..1079dfe 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
@@ -75,7 +75,7 @@ public class RestGetAnnotation {
                Class<? extends RestConverter>[] converters = new Class[0];
                Class<? extends RestGuard>[] guards = new Class[0];
                Class<? extends RestMatcher>[] matchers = new Class[0];
-               Class<? extends RestOpContext> contextClass = 
RestOpContext.Null.class;
+               Class<? extends RestOpContext> contextClass = 
RestOpContext.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
                Class<? extends Serializer>[] serializers = new Class[0];
                OpSwagger swagger = OpSwaggerAnnotation.DEFAULT;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
index 28a2994..55baa28 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOp.java
@@ -136,7 +136,7 @@ public @interface RestOp {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestOpContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Void.class;
 
        /**
         * Class-level response converters.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
index 0249f31..a82d025 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
@@ -82,7 +82,7 @@ public class RestOpAnnotation {
                Class<? extends RestConverter>[] converters = new Class[0];
                Class<? extends RestGuard>[] guards = new Class[0];
                Class<? extends RestMatcher>[] matchers = new Class[0];
-               Class<? extends RestOpContext> contextClass = 
RestOpContext.Null.class;
+               Class<? extends RestOpContext> contextClass = 
RestOpContext.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
                Class<? extends Serializer>[] serializers = new Class[0];
                Class<?>[] parsers=new Class<?>[0];
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPost.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPost.java
index 20263ed..c8473ab 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPost.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPost.java
@@ -138,7 +138,7 @@ public @interface RestPost {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestOpContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Void.class;
 
        /**
         * Class-level response converters.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
index 3b33ab7..ac1570f 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
@@ -75,7 +75,7 @@ public class RestPostAnnotation {
                Class<? extends RestConverter>[] converters = new Class[0];
                Class<? extends RestGuard>[] guards = new Class[0];
                Class<? extends RestMatcher>[] matchers = new Class[0];
-               Class<? extends RestOpContext> contextClass = 
RestOpContext.Null.class;
+               Class<? extends RestOpContext> contextClass = 
RestOpContext.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
                Class<? extends Serializer>[] serializers = new Class[0];
                Class<?>[] parsers=new Class<?>[0];
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPut.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPut.java
index b6f06fb..02a3a38 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPut.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPut.java
@@ -138,7 +138,7 @@ public @interface RestPut {
         *      <li class='jm'>{@link 
org.apache.juneau.rest.RestOpContext.Builder#type(Class)}
         * </ul>
         */
-       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Null.class;
+       Class<? extends RestOpContext> contextClass() default 
RestOpContext.Void.class;
 
        /**
         * Class-level response converters.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
index e055135..7622a09 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
@@ -75,7 +75,7 @@ public class RestPutAnnotation {
                Class<? extends RestConverter>[] converters = new Class[0];
                Class<? extends RestGuard>[] guards = new Class[0];
                Class<? extends RestMatcher>[] matchers = new Class[0];
-               Class<? extends RestOpContext> contextClass = 
RestOpContext.Null.class;
+               Class<? extends RestOpContext> contextClass = 
RestOpContext.Void.class;
                Class<? extends Encoder>[] encoders = new Class[0];
                Class<? extends Serializer>[] serializers = new Class[0];
                Class<?>[] parsers=new Class<?>[0];
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
index 04564b6..cf3acce 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
@@ -43,7 +43,7 @@ public interface DebugEnablement {
        /**
         * Represents no DebugEnablement.
         */
-       public abstract class Null implements DebugEnablement {};
+       public abstract class Void implements DebugEnablement {};
 
        /**
         * Static creator.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
index 1ba3122..2c41898 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
@@ -62,7 +62,7 @@ public interface RestLogger {
        
//-----------------------------------------------------------------------------------------------------------------
 
        /** Represents no logger */
-       public abstract class Null implements RestLogger {}
+       public abstract class Void implements RestLogger {}
 
        /**
         * System property name for the default logger name to use for {@link 
RestLogger} objects.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
index 01b9b7c..e6526b6 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
@@ -45,7 +45,7 @@ public class ClientVersionMatcher extends RestMatcher {
        public ClientVersionMatcher(String clientVersionHeader, MethodInfo mi) {
                this.clientVersionHeader = isEmpty(clientVersionHeader) ? 
"Client-Version" : clientVersionHeader;
                Value<String> clientVersion = Value.empty();
-               mi.getAnnotationList(REST_OP_GROUP).forEachValue(String.class, 
"clientVersion", StringUtils::isNotEmpty, x -> clientVersion.set(x));
+               mi.getAnnotationList(REST_OP_GROUP).forEachValue(String.class, 
"clientVersion", NOT_EMPTY, x -> clientVersion.set(x));
                range = new VersionRange(clientVersion.orElse(null));
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/StaticFiles.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/StaticFiles.java
index c9bcf3c..19c007c 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/StaticFiles.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/StaticFiles.java
@@ -41,7 +41,7 @@ public interface StaticFiles extends FileFinder {
        
//-----------------------------------------------------------------------------------------------------------------
 
        /** Represents no static files */
-       public abstract class Null implements StaticFiles {}
+       public abstract class Void implements StaticFiles {}
 
        /**
         * Static creator.
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
index daaf1da..0165052 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
@@ -241,7 +241,7 @@ public class BasicSwaggerProviderSession {
                        );
 
                        Value<String> _summary = Value.empty();
-                       al.forEachValue(String.class, "summary", 
StringUtils::isNotEmpty, x -> _summary.set(x));
+                       al.forEachValue(String.class, "summary", NOT_EMPTY, x 
-> _summary.set(x));
                        op.appendSkipEmpty("summary",
                                firstNonEmpty(
                                        resolve(ms.summary()),
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/SwaggerProvider.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/SwaggerProvider.java
index e8a9559..02bf2f1 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/SwaggerProvider.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/SwaggerProvider.java
@@ -47,7 +47,7 @@ public interface SwaggerProvider {
         * Used on annotation to indicate that the value should be inherited 
from the parent class, and
         * ultimately {@link BasicSwaggerProvider} if not specified at any 
level.
         */
-       public abstract class Null implements SwaggerProvider {};
+       public abstract class Void implements SwaggerProvider {};
 
        /**
         * Static creator.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
index 84ec21e..8dc9507 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
@@ -49,7 +49,7 @@ public class BeanStore_Test {
 
        @Test
        public void a00_dummy() {
-               new BeanStore.Null();
+               new BeanStore.Void();
        }
 
        @Test
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
index c97e689..9bc3b11 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
@@ -66,7 +66,7 @@ public class HeaderList_Test {
                x.append((List<Header>)null);
                assertObject(x.build()).isString("[Foo: 1, Foo: 2, Foo: 3, Foo: 
4, Foo: 5, Foo: 6, Foo: 7]");
 
-               assertObject(new HeaderList.Null()).isString("[]");
+               assertObject(new HeaderList.Void()).isString("[]");
        }
 
        @Test
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
index 1169a06..e7393a4 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
@@ -161,7 +161,7 @@ public class RestAnnotation_Test {
                                + "allowedMethodHeaders:'allowedMethodHeaders',"
                                + "allowedMethodParams:'allowedMethodParams',"
                                + "beanStore:'org.apache.juneau.cp.BeanStore',"
-                               + 
"builder:'org.apache.juneau.rest.RestContext$Builder$Null',"
+                               + 
"builder:'org.apache.juneau.rest.RestContext$Builder$Void',"
                                + 
"callLogger:'org.apache.juneau.rest.logging.BasicRestLogger',"
                                + "children:['"+CNAME+"'],"
                                + "clientVersionHeader:'clientVersionHeader',"

Reply via email to