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 5966ef916 Test modernization, clean up utility classes.
5966ef916 is described below

commit 5966ef916b4e296bd143131a021ea1718dacc58d
Author: James Bognar <[email protected]>
AuthorDate: Mon Aug 25 13:54:59 2025 -0400

    Test modernization, clean up utility classes.
---
 .../juneau/assertions/FluentObjectAssertion.java   |  2 +-
 .../main/java/org/apache/juneau/config/Entry.java  | 31 +++++++++++----------
 .../java/org/apache/juneau/config/Section.java     |  6 ++--
 .../apache/juneau/config/internal/ConfigMap.java   |  2 +-
 .../org/apache/juneau/jena/RdfParserSession.java   |  2 +-
 .../java/org/apache/juneau/AnnotationApplier.java  | 10 +++----
 .../main/java/org/apache/juneau/BeanBuilder.java   |  5 ++--
 .../java/org/apache/juneau/BeanPropertyMeta.java   |  2 +-
 .../main/java/org/apache/juneau/BeanSession.java   |  2 +-
 .../org/apache/juneau/BeanTraverseSession.java     |  2 +-
 .../src/main/java/org/apache/juneau/ClassMeta.java | 32 ++++++++++------------
 .../src/main/java/org/apache/juneau/Context.java   |  4 +--
 .../src/main/java/org/apache/juneau/Version.java   |  2 +-
 .../apache/juneau/annotation/SchemaAnnotation.java |  8 +++---
 .../juneau/annotation/SubItemsAnnotation.java      |  4 +--
 .../java/org/apache/juneau/cp/BasicFileFinder.java |  4 +--
 .../java/org/apache/juneau/cp/BeanCreator.java     |  3 +-
 .../main/java/org/apache/juneau/cp/BeanStore.java  |  8 +++---
 .../org/apache/juneau/cp/ContextBeanCreator.java   |  3 +-
 .../org/apache/juneau/cp/DefaultClassList.java     |  2 +-
 .../org/apache/juneau/cp/DefaultSettingsMap.java   |  4 ++-
 .../apache/juneau/csv/CsvSerializerSession.java    |  2 +-
 .../org/apache/juneau/html/HtmlParserSession.java  |  3 +-
 .../httppart/bean/RequestBeanPropertyMeta.java     |  3 +-
 .../juneau/httppart/bean/ResponseBeanMeta.java     |  5 ++--
 .../httppart/bean/ResponseBeanPropertyMeta.java    |  3 +-
 .../apache/juneau/internal/CollectionUtils.java    | 15 ++--------
 .../org/apache/juneau/json/JsonParserSession.java  |  2 +-
 .../juneau/msgpack/MsgPackParserSession.java       |  3 +-
 .../apache/juneau/oapi/OpenApiParserSession.java   |  4 +--
 .../org/apache/juneau/reflect/AnnotationInfo.java  |  2 +-
 .../java/org/apache/juneau/reflect/ParamInfo.java  |  3 +-
 .../org/apache/juneau/uon/UonParserSession.java    |  2 +-
 .../urlencoding/UrlEncodingParserSession.java      |  3 +-
 .../org/apache/juneau/utils/ReflectionMap.java     |  8 +++---
 .../org/apache/juneau/xml/XmlParserSession.java    |  3 +-
 .../apache/juneau/rest/client/ResponseHeader.java  |  3 +-
 .../juneau/http/header/BasicBooleanHeader.java     |  2 +-
 .../apache/juneau/http/header/BasicCsvHeader.java  |  5 ++--
 .../apache/juneau/http/header/BasicDateHeader.java |  3 +-
 .../juneau/http/header/BasicEntityTagHeader.java   |  2 +-
 .../juneau/http/header/BasicEntityTagsHeader.java  |  2 +-
 .../org/apache/juneau/http/header/BasicHeader.java |  2 +-
 .../juneau/http/header/BasicIntegerHeader.java     |  2 +-
 .../apache/juneau/http/header/BasicLongHeader.java |  2 +-
 .../juneau/http/header/BasicMediaRangesHeader.java |  2 +-
 .../juneau/http/header/BasicMediaTypeHeader.java   |  2 +-
 .../juneau/http/header/BasicStringHeader.java      |  2 +-
 .../http/header/BasicStringRangesHeader.java       |  2 +-
 .../apache/juneau/http/header/BasicUriHeader.java  |  2 +-
 .../apache/juneau/http/header/ClientVersion.java   |  2 +-
 .../org/apache/juneau/http/header/HeaderList.java  | 12 ++++----
 .../org/apache/juneau/http/header/IfRange.java     |  4 +--
 .../org/apache/juneau/http/header/RetryAfter.java  |  4 +--
 .../java/org/apache/juneau/http/header/Thrown.java |  2 +-
 .../apache/juneau/http/part/BasicBooleanPart.java  |  2 +-
 .../apache/juneau/http/part/BasicCsvArrayPart.java |  5 ++--
 .../org/apache/juneau/http/part/BasicDatePart.java |  3 +-
 .../apache/juneau/http/part/BasicIntegerPart.java  |  2 +-
 .../org/apache/juneau/http/part/BasicLongPart.java |  2 +-
 .../apache/juneau/http/part/BasicStringPart.java   |  3 +-
 .../org/apache/juneau/http/part/BasicUriPart.java  |  3 +-
 .../java/org/apache/juneau/http/part/PartList.java | 10 +++----
 .../juneau/rest/springboot/SpringBeanStore.java    |  6 ++--
 .../java/org/apache/juneau/rest/RestChildren.java  |  2 +-
 .../java/org/apache/juneau/rest/RestContext.java   |  8 +++---
 .../java/org/apache/juneau/rest/RestOpContext.java | 16 +++++------
 .../java/org/apache/juneau/rest/RestRequest.java   |  3 +-
 .../java/org/apache/juneau/rest/RestResponse.java  | 12 ++++----
 .../juneau/rest/httppart/RequestAttribute.java     |  4 +--
 .../juneau/rest/httppart/RequestContent.java       |  4 +--
 .../juneau/rest/httppart/RequestHttpPart.java      |  8 +++---
 .../juneau/rest/staticfile/BasicStaticFiles.java   |  8 ++----
 .../org/apache/juneau/rest/stats/ThrownStats.java  |  5 ++--
 .../org/apache/juneau/rest/stats/ThrownStore.java  |  4 +--
 .../rest/swagger/BasicSwaggerProviderSession.java  | 20 +++++++-------
 .../juneau/rest/swagger/SwaggerProvider.java       |  9 +++---
 .../java/org/apache/juneau/rest/util/UrlPath.java  |  2 +-
 78 files changed, 202 insertions(+), 195 deletions(-)

diff --git 
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
 
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
index 2584426d2..d243c7e91 100644
--- 
a/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
+++ 
b/juneau-core/juneau-assertions/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
@@ -624,7 +624,7 @@ public class FluentObjectAssertion<T,R> extends 
FluentAssertion<R> {
         * @return The value wrapped in an {@link Optional}.
         */
        protected Optional<T> opt() {
-               return optional(value);
+               return Utils.opt(value);
        }
 
        /**
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
index e8c70cbdd..4b520012e 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Entry.java
@@ -214,7 +214,8 @@ public class Entry {
                        if (type == JsonList.class) return 
(Optional<T>)asList();
                        if (isEmpty())
                                return Utils.opte();
-                       if (isSimpleType(type)) return 
optional((T)config.beanSession.convertToType(v, (Class<?>)type));
+                       if (isSimpleType(type))
+                               return 
Utils.opt((T)config.beanSession.convertToType(v, (Class<?>)type));
 
                        if (parser instanceof JsonParser) {
                                var s1 = firstNonWhitespaceChar(v);
@@ -223,7 +224,7 @@ public class Entry {
                                else if (s1 != '[' && s1 != '{' && ! 
"null".equals(v))
                                        v = '\'' + v + '\'';
                        }
-                       return optional(parser.parse(v, type, args));
+                       return Utils.opt(parser.parse(v, type, args));
                } catch (ParseException e) {
                        throw new BeanRuntimeException(e, null, "Value could 
not be parsed.");
                }
@@ -257,7 +258,7 @@ public class Entry {
         * @return This entry as a string, or {@link Optional#empty()} if the 
entry does not exist.
         */
        public Optional<String> asString() {
-               return optional(isPresent() ? config.varSession.resolve(value) 
: null);
+               return Utils.opt(isPresent() ? config.varSession.resolve(value) 
: null);
        }
 
        /**
@@ -276,12 +277,12 @@ public class Entry {
                var s2 = lastNonWhitespaceChar(v);
                if (s1 == '[' && s2 == ']' && config.parser instanceof 
JsonParser) {
                        try {
-                               return optional(config.parser.parse(v, 
String[].class));
+                               return Utils.opt(config.parser.parse(v, 
String[].class));
                        } catch (ParseException e) {
                                throw new BeanRuntimeException(e);
                        }
                }
-               return optional(split(v));
+               return Utils.opt(split(v));
        }
 
        /**
@@ -315,7 +316,7 @@ public class Entry {
         * @return The value, or {@link Optional#empty()} if the value does not 
exist or the value is empty.
         */
        public Optional<Integer> asInteger() {
-               return optional(isEmpty() ? null : 
(Integer)parseIntWithSuffix(toString()));
+               return Utils.opt(isEmpty() ? null : 
(Integer)parseIntWithSuffix(toString()));
        }
 
 
@@ -328,7 +329,7 @@ public class Entry {
         * @return The value, or {@link Optional#empty()} if the value does not 
exist or the value is empty.
         */
        public Optional<Boolean> asBoolean() {
-               return optional(isEmpty() ? null : 
(Boolean)Boolean.parseBoolean(toString()));
+               return Utils.opt(isEmpty() ? null : 
(Boolean)Boolean.parseBoolean(toString()));
        }
 
        /**
@@ -362,7 +363,7 @@ public class Entry {
         * @return The value, or {@link Optional#empty()} if the value does not 
exist or the value is empty.
         */
        public Optional<Long> asLong() {
-               return optional(isEmpty() ? null : 
(Long)parseLongWithSuffix(toString()));
+               return Utils.opt(isEmpty() ? null : 
(Long)parseLongWithSuffix(toString()));
        }
 
        /**
@@ -380,7 +381,7 @@ public class Entry {
         * @return The value, or {@link Optional#empty()} if the value does not 
exist or the value is empty.
         */
        public Optional<Double> asDouble() {
-               return optional(isEmpty() ? null : Double.valueOf(toString()));
+               return Utils.opt(isEmpty() ? null : Double.valueOf(toString()));
        }
 
        /**
@@ -398,7 +399,7 @@ public class Entry {
         * @return The value, or {@link Optional#empty()} if the value does not 
exist or the value is empty.
         */
        public Optional<Float> asFloat() {
-               return optional(isEmpty() ? null : Float.valueOf(toString()));
+               return Utils.opt(isEmpty() ? null : Float.valueOf(toString()));
        }
 
        /**
@@ -417,10 +418,10 @@ public class Entry {
                        s = s.replace("\n", "");
                try {
                        if (config.binaryFormat == HEX)
-                               return optional(fromHex(s));
+                               return Utils.opt(fromHex(s));
                        if (config.binaryFormat == SPACED_HEX)
-                               return optional(fromSpacedHex(s));
-                       return optional(base64Decode(s));
+                               return Utils.opt(fromSpacedHex(s));
+                       return Utils.opt(base64Decode(s));
                } catch (Exception e) {
                        throw new BeanRuntimeException(e, null, "Value could 
not be converted to a byte array.");
                }
@@ -463,7 +464,7 @@ public class Entry {
                        if (s1 != '{' && ! "null".equals(s))
                                s = '{' + s + '}';
                }
-               return optional(JsonMap.ofText(s, parser));
+               return Utils.opt(JsonMap.ofText(s, parser));
        }
 
        /**
@@ -503,7 +504,7 @@ public class Entry {
                        if (s1 != '[' && ! "null".equals(s))
                                s = '[' + s + ']';
                }
-               return optional(JsonList.ofText(s, parser));
+               return Utils.opt(JsonList.ofText(s, parser));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Section.java 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Section.java
index a2a1795b7..54fca449b 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Section.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Section.java
@@ -124,7 +124,7 @@ public class Section {
                        }
                }
 
-               return optional(bm.getBean());
+               return Utils.opt(bm.getBean());
        }
 
        /**
@@ -141,7 +141,7 @@ public class Section {
                var m = new JsonMap();
                for (var k : keys)
                        m.put(k, config.get(name + '/' + 
k).as(Object.class).orElse(null));
-               return optional(m);
+               return Utils.opt(m);
        }
 
        /**
@@ -211,7 +211,7 @@ public class Section {
                if (!c.isInterface())
                        throw new IllegalArgumentException("Class '" + 
c.getName() + "' passed to toInterface() is not an interface.");
 
-               return optional((T) Proxy.newProxyInstance(c.getClassLoader(), 
new Class[] { c }, (InvocationHandler) (proxy, method, args) -> {
+               return Utils.opt((T) Proxy.newProxyInstance(c.getClassLoader(), 
new Class[] { c }, (InvocationHandler) (proxy, method, args) -> {
                        var bi = Introspector.getBeanInfo(c, null);
                        for (var pd : bi.getPropertyDescriptors()) {
                                var rm = pd.getReadMethod();
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
index 339c87e79..a87309a8b 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
@@ -719,7 +719,7 @@ public class ConfigMap implements ConfigStoreListener {
        }
 
        private void signal(ConfigEvents changes) {
-               if (isNotEmpty(changes))
+               if (isNotEmpty2(changes))
                        listeners.forEach(x -> x.onConfigChange(changes));
        }
 
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
index 4d660e540..a19b5e12a 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserSession.java
@@ -392,7 +392,7 @@ public class RdfParserSession extends ReaderParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), n, outer, pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), n, outer, pMeta));
 
                setCurrentClass(sType);
 
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 5476f8e4d..fc47de868 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
@@ -22,7 +22,7 @@ import java.util.*;
 import java.util.stream.*;
 
 import org.apache.juneau.annotation.*;
-import org.apache.juneau.common.internal.StringUtils;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.reflect.*;
 import org.apache.juneau.svl.*;
 
@@ -146,7 +146,7 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
         */
        protected Optional<String> string(String in) {
                in = vr.resolve(in);
-               return optional(isEmpty(in) ? null : in);
+               return Utils.opt(isEmpty(in) ? null : in);
        }
 
        /**
@@ -157,7 +157,7 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
         * @return An optional containing the specified value.
         */
        protected <T> Optional<Class<T>> type(Class<T> in) {
-               return optional(in).filter(NOT_VOID);
+               return Utils.opt(in).filter(NOT_VOID);
        }
 
        /**
@@ -170,7 +170,7 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
         * @return The array wrapped in an {@link Optional}.
         */
        protected Optional<String[]> strings(String[] in) {
-               return optional(in.length == 0 ? null : 
Arrays.stream(in).map(vr::resolve).filter(StringUtils::isNotEmpty).toArray(String[]::new));
+               return Utils.opt(in.length == 0 ? null : 
Arrays.stream(in).map(vr::resolve).filter(StringUtils::isNotEmpty).toArray(String[]::new));
        }
 
        /**
@@ -255,7 +255,7 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
         * @return The array wrapped in an {@link Optional}.
         */
        protected Optional<Class<?>[]> classes(Class<?>[] in) {
-               return optional(in.length == 0 ? null : in);
+               return Utils.opt(in.length == 0 ? null : in);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanBuilder.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanBuilder.java
index ab0e04a4e..53f593e0c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanBuilder.java
@@ -15,6 +15,7 @@ package org.apache.juneau;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import java.util.*;
 
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
 
@@ -125,7 +126,7 @@ public class BeanBuilder<T> {
         * @return The implementation type specified via {@link #type(Class)}.
         */
        protected Optional<Class<? extends T>> type() {
-               return optional(type);
+               return Utils.opt(type);
        }
 
        /**
@@ -150,7 +151,7 @@ public class BeanBuilder<T> {
         * @return The override bean specified via {@link #impl(Object)}.
         */
        protected Optional<T> impl() {
-               return optional(impl);
+               return Utils.opt(impl);
        }
 
        /**
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 48a6f0c80..0ba38074c 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
@@ -182,7 +182,7 @@ public final class BeanPropertyMeta implements 
Comparable<BeanPropertyMeta> {
                        if (innerField != null) {
                                List<Beanp> lp = list();
                                bc.forEachAnnotation(Beanp.class, innerField, x 
-> true, x -> lp.add(x));
-                               if (field != null || isNotEmpty(lp)) {
+                               if (field != null || isNotEmpty2(lp)) {
                                        // Only use field type if it's a bean 
property or has @Beanp annotation.
                                        // Otherwise, we want to infer the type 
from the getter or setter.
                                        rawTypeMeta = 
bc.resolveClassMeta(last(lp), innerField.getGenericType(), typeVarImpls);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index 58fb7bf8f..b2da08ac5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -507,7 +507,7 @@ public class BeanSession extends ContextSession {
                        }
 
                        if (to.isOptional() && (! (value instanceof Optional)))
-                               return (T) optional(convertToMemberType(outer, 
value, to.getElementType()));
+                               return (T) Utils.opt(convertToMemberType(outer, 
value, to.getElementType()));
 
                        Class<T> tc = to.getInnerClass();
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
index e0920a3de..e8c481e58 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseSession.java
@@ -384,7 +384,7 @@ public class BeanTraverseSession extends BeanSession {
         */
        public final JsonMap getLastLocation() {
                Predicate<Object> nn = Utils::isNotNull;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
                return JsonMap.create()
                        .appendIf(nn, "currentClass", currentClass)
                        .appendIf(nn, "currentProperty", currentProperty)
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 c8406b3e2..114f18643 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
@@ -440,24 +440,20 @@ public final class ClassMeta<T> implements Type {
                        // parse() is used by the java logging Level class.
                        // forName() is used by Class and Charset
                        String[] fromStringMethodNames = 
{"fromString","fromValue","valueOf","parse","parseString","forName","forString"};
-                       fromStringMethod = optional(
-                               ci.getPublicMethod(
-                                       x -> x.isStatic()
-                                       && x.isNotDeprecated()
-                                       && x.hasReturnType(c)
-                                       && x.hasParamTypes(String.class)
-                                       && ArrayUtils.contains(x.getName(), 
fromStringMethodNames))
-                               ).map(MethodInfo::inner)
+                       fromStringMethod = Utils.opt(ci.getPublicMethod(
+                       x -> x.isStatic()
+                       && x.isNotDeprecated()
+                       && x.hasReturnType(c)
+                       && x.hasParamTypes(String.class)
+                       && ArrayUtils.contains(x.getName(), 
fromStringMethodNames))).map(MethodInfo::inner)
                                .orElse(null);
 
                        // Find example() method if present.
-                       exampleMethod = optional(
-                               ci.getPublicMethod(
-                                       x -> x.isStatic()
-                                       && x.isNotDeprecated()
-                                       && x.hasName("example")
-                                       && 
x.hasFuzzyParamTypes(BeanSession.class))
-                               ).map(MethodInfo::inner)
+                       exampleMethod = Utils.opt(ci.getPublicMethod(
+                       x -> x.isStatic()
+                       && x.isNotDeprecated()
+                       && x.hasName("example")
+                       && 
x.hasFuzzyParamTypes(BeanSession.class))).map(MethodInfo::inner)
                                .orElse(null);
 
                        ci.forEachAllField(x -> x.hasAnnotation(bc, 
ParentProperty.class), x -> {
@@ -1706,7 +1702,7 @@ public final class ClassMeta<T> implements Type {
         */
        public Optional<?> getOptionalDefault() {
                if (isOptional())
-                       return optional(getElementType().getOptionalDefault());
+                       return Utils.opt(getElementType().getOptionalDefault());
                return null;
        }
 
@@ -2095,7 +2091,7 @@ public final class ClassMeta<T> implements Type {
                if (o == null) {
                        if (beanContext == null)
                                return info.getAnnotation(BeanContext.DEFAULT, 
a);
-                       o = optional(info.getAnnotation(beanContext, a));
+                       o = Utils.opt(info.getAnnotation(beanContext, a));
                        annotationLastMap.put(a, o);
                }
                return o.orElse(null);
@@ -2190,7 +2186,7 @@ public final class ClassMeta<T> implements Type {
        public <T2> Optional<T2> getProperty(String name, 
Function<ClassMeta<?>,T2> function) {
                Optional<T2> t = (Optional<T2>) properties.get(name);
                if (t == null) {
-                       t = optional(function.apply(this));
+                       t = Utils.opt(function.apply(this));
                        properties.put(name, t);
                }
                return t;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
index c4eec6f34..2203c3c00 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Context.java
@@ -302,7 +302,7 @@ public abstract class Context implements AnnotationProvider 
{
                 * @return The context class if it was specified.
                 */
                public Optional<Class<?>> getType() {
-                       return optional(type);
+                       return Utils.opt(type);
                }
 
                /**
@@ -818,7 +818,7 @@ public abstract class Context implements AnnotationProvider 
{
        protected Context(Builder builder) {
                init(builder);
                debug = builder.debug;
-               annotations = 
optional(builder.annotations).orElseGet(Collections::emptyList);
+               annotations = 
Utils.opt(builder.annotations).orElseGet(Collections::emptyList);
 
                ReflectionMap.Builder<Annotation> rmb = 
ReflectionMap.create(Annotation.class);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Version.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Version.java
index ffaac077f..b4eb8662f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Version.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Version.java
@@ -91,7 +91,7 @@ public class Version implements Comparable<Version> {
        public Optional<Integer> getPart(int index) {
                if (index < 0 || parts.length <= index)
                        return Utils.opte();
-               return optional(parts[index]);
+               return Utils.opt(parts[index]);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
index dc8bf80a8..84e0b733b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
@@ -97,8 +97,8 @@ public class SchemaAnnotation {
                if (SchemaAnnotation.empty(a))
                        return m;
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                Predicate<Boolean> nf = Utils::isTrue;
                Predicate<Long> nm1 = Utils::isNotMinusOne;
                return m
@@ -140,8 +140,8 @@ public class SchemaAnnotation {
                if (ItemsAnnotation.empty(a))
                        return m;
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                Predicate<Boolean> nf = Utils::isTrue;
                Predicate<Long> nm1 = Utils::isNotMinusOne;
                return m
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
index 395c5c907..464f0078b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
@@ -70,8 +70,8 @@ public class SubItemsAnnotation {
                if (SubItemsAnnotation.empty(a))
                        return om;
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                Predicate<Boolean> nf = Utils::isTrue;
                Predicate<Long> nm1 = Utils::isNotMinusOne;
                return om
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
index 737d93441..43c721519 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BasicFileFinder.java
@@ -102,7 +102,7 @@ public class BasicFileFinder implements FileFinder {
 
        @Override /* FileFinder */
        public Optional<String> getString(String name, Locale locale) throws 
IOException {
-               return optional(read(find(name, locale).orElse(null)));
+               return Utils.opt(read(find(name, locale).orElse(null)));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
@@ -160,7 +160,7 @@ public class BasicFileFinder implements FileFinder {
                        }
                }
 
-               return optional(lf == null ? null : lf.read());
+               return Utils.opt(lf == null ? null : lf.read());
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
index 36e324244..0d0a9a777 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreator.java
@@ -21,6 +21,7 @@ import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.reflect.*;
 
 /**
@@ -244,7 +245,7 @@ public class BeanCreator<T> {
         * @return A new bean wrapped in an {@link Optional}.
         */
        public Optional<T> execute() {
-               return optional(silent().run());
+               return Utils.opt(silent().run());
        }
 
        /**
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 147c4ccdc..14c113773 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
@@ -293,8 +293,8 @@ public class BeanStore {
         * @param builder The builder containing the settings for this bean.
         */
        protected BeanStore(Builder builder) {
-               parent = optional(builder.parent);
-               outer = optional(builder.outer);
+               parent = Utils.opt(builder.parent);
+               outer = Utils.opt(builder.outer);
                readOnly = builder.readOnly;
                threadSafe = builder.threadSafe;
                lock = threadSafe ? new SimpleReadWriteLock() : 
SimpleReadWriteLock.NO_OP;
@@ -415,7 +415,7 @@ public class BeanStore {
                try (SimpleLock x = lock.read()) {
                        BeanStoreEntry<T> e = (BeanStoreEntry<T>) 
unnamedEntries.get(beanType);
                        if (e != null)
-                               return optional(e.get());
+                               return Utils.opt(e.get());
                        if (parent.isPresent())
                                return parent.get().getBean(beanType);
                        return Utils.opte();
@@ -435,7 +435,7 @@ public class BeanStore {
                try (SimpleLock x = lock.read()) {
                        BeanStoreEntry<T> e = 
(BeanStoreEntry<T>)entries.stream().filter(x2 -> x2.matches(beanType, 
name)).findFirst().orElse(null);
                        if (e != null)
-                               return optional(e.get());
+                               return Utils.opt(e.get());
                        if (parent.isPresent())
                                return parent.get().getBean(beanType, name);
                        return Utils.opte();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ContextBeanCreator.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ContextBeanCreator.java
index 9715d7c4b..d43a61c5e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ContextBeanCreator.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/ContextBeanCreator.java
@@ -17,6 +17,7 @@ import java.util.*;
 import java.util.function.*;
 
 import org.apache.juneau.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * Utility class for instantiating a Context bean.
@@ -104,7 +105,7 @@ public class ContextBeanCreator<T> {
         * @return An optional containing the builder if it exists.
         */
        public <B extends Context.Builder> Optional<B> builder(Class<B> c) {
-               return optional(c.isInstance(builder) ? c.cast(builder) : null);
+               return Utils.opt(c.isInstance(builder) ? c.cast(builder) : 
null);
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultClassList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultClassList.java
index ff7be2684..7c4dfd756 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultClassList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultClassList.java
@@ -99,7 +99,7 @@ public class DefaultClassList {
                assertArgNotNull("type", type);
                for (Class<?> e : entries)
                        if (e != null && type.isAssignableFrom(e))
-                               return optional((Class<? extends T>)e);
+                               return Utils.opt((Class<? extends T>)e);
                return Utils.opte();
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultSettingsMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultSettingsMap.java
index abf6d48b6..e530a1afd 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultSettingsMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/DefaultSettingsMap.java
@@ -16,6 +16,8 @@ import static org.apache.juneau.internal.CollectionUtils.*;
 
 import java.util.*;
 
+import org.apache.juneau.common.internal.*;
+
 /**
  * A list of default settings.
  *
@@ -88,7 +90,7 @@ public class DefaultSettingsMap {
         */
        @SuppressWarnings("unchecked")
        public <T> Optional<T> get(Class<T> type, String name) {
-               return optional((T)entries.get(name));
+               return Utils.opt((T)entries.get(name));
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
index ca506b53c..5f2e723e9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
@@ -227,7 +227,7 @@ public final class CsvSerializerSession extends 
WriterSerializerSession {
                        }
 
                        // TODO - Doesn't support DynaBeans.
-                       if (isNotEmpty(l)) {
+                       if (isNotEmpty2(l)) {
                                ClassMeta<?> entryType = 
getClassMetaForObject(l.iterator().next());
                                if (entryType.isBean()) {
                                        BeanMeta<?> bm = 
entryType.getBeanMeta();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
index 00525e7b6..8ffa97038 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserSession.java
@@ -27,6 +27,7 @@ import javax.xml.stream.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.html.annotation.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
@@ -257,7 +258,7 @@ public final class HtmlParserSession extends 
XmlParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), r, outer, isRoot, pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), r, outer, isRoot, pMeta));
 
                setCurrentClass(sType);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanPropertyMeta.java
index e73ffcd33..b157f944f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/RequestBeanPropertyMeta.java
@@ -19,6 +19,7 @@ import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.internal.Utils;
 import org.apache.juneau.cp.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.httppart.*;
@@ -54,7 +55,7 @@ public class RequestBeanPropertyMeta {
                this.partType = b.partType;
                this.schema = b.schema;
                this.getter = b.getter;
-               this.serializer = optional(schema.getSerializer() == null ? 
serializer : 
BeanCreator.of(HttpPartSerializer.class).type(schema.getSerializer()).run());
+               this.serializer = Utils.opt(schema.getSerializer() == null ? 
serializer : 
BeanCreator.of(HttpPartSerializer.class).type(schema.getSerializer()).run());
                this.parser = schema.getParser() == null ? parser : 
BeanCreator.of(HttpPartParser.class).type(schema.getParser()).run();
        }
 
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 d28dc7136..2feea4c13 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
@@ -24,6 +24,7 @@ import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.*;
+import org.apache.juneau.common.internal.Utils;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
@@ -111,8 +112,8 @@ public class ResponseBeanMeta {
        ResponseBeanMeta(Builder b) {
                this.cm = b.cm;
                this.code = b.code;
-               this.partSerializer = optional(b.partSerializer).map(x -> 
HttpPartSerializer.creator().type(x).apply(b.annotations).create());
-               this.partParser = optional(b.partParser).map(x -> 
HttpPartParser.creator().type(x).apply(b.annotations).create());
+               this.partSerializer = Utils.opt(b.partSerializer).map(x -> 
HttpPartSerializer.creator().type(x).apply(b.annotations).create());
+               this.partParser = Utils.opt(b.partParser).map(x -> 
HttpPartParser.creator().type(x).apply(b.annotations).create());
                this.schema = b.schema.build();
 
                Map<String,ResponseBeanPropertyMeta> properties = map();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanPropertyMeta.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanPropertyMeta.java
index 5614af59b..086262003 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanPropertyMeta.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanPropertyMeta.java
@@ -19,6 +19,7 @@ import java.util.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.reflect.*;
+import org.apache.juneau.common.internal.Utils;
 import org.apache.juneau.cp.*;
 
 /**
@@ -93,7 +94,7 @@ public class ResponseBeanPropertyMeta {
         * @return The HTTP part name, or <jk>null</jk> if it doesn't have a 
part name.
         */
        public Optional<String> getPartName() {
-               return optional(schema == null ? null : schema.getName());
+               return Utils.opt(schema == null ? null : schema.getName());
        }
 
        /**
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/CollectionUtils.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/CollectionUtils.java
index bb8e74892..ae7a1ba5c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/CollectionUtils.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/CollectionUtils.java
@@ -726,17 +726,6 @@ public final class CollectionUtils {
                return l[l.length-1];
        }
 
-       /**
-        * Returns an optional of the specified value.
-        *
-        * @param <T> The component type.
-        * @param value The value.
-        * @return A new Optional.
-        */
-       public static <T> Optional<T> optional(T value) {
-               return Optional.ofNullable(value);
-       }
-
        /**
         * Returns <jk>true</jk> if the specified collection is not 
<jk>null</jk> and not empty.
         *
@@ -744,7 +733,7 @@ public final class CollectionUtils {
         * @param value The value being checked.
         * @return <jk>true</jk> if the specified collection is not 
<jk>null</jk> and not empty.
         */
-       public static <E> boolean isNotEmpty(Collection<E> value) {
+       public static <E> boolean isNotEmpty2(Collection<E> value) {
                return value != null && ! value.isEmpty();
        }
 
@@ -756,7 +745,7 @@ public final class CollectionUtils {
         * @param value The value being checked.
         * @return <jk>true</jk> if the specified map is not <jk>null</jk> and 
not empty.
         */
-       public static <K,V> boolean isNotEmpty(Map<K,V> value) {
+       public static <K,V> boolean isNotEmpty2(Map<K,V> value) {
                return value != null && ! value.isEmpty();
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
index 28be19d9d..b8975a748 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserSession.java
@@ -284,7 +284,7 @@ public final class JsonParserSession extends 
ReaderParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), r, outer, pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), r, outer, pMeta));
 
                setCurrentClass(sType);
                String wrapperAttr = getJsonClassMeta(sType).getWrapperAttr();
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
index 894a92fd7..8c118ebb0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserSession.java
@@ -22,6 +22,7 @@ import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -215,7 +216,7 @@ public final class MsgPackParserSession extends 
InputStreamParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), is, outer, pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), is, outer, pMeta));
 
                setCurrentClass(sType);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index 4b13be62b..d19a19ac7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -252,7 +252,7 @@ public class OpenApiParserSession extends UonParserSession {
                schema.validateOutput(t, ctx.getBeanContext());
 
                if (isOptional)
-                       t = (T)optional(t);
+                       t = (T)Utils.opt(t);
 
                return t;
        }
@@ -282,7 +282,7 @@ public class OpenApiParserSession extends UonParserSession {
                                sType = type;
 
                        if (sType.isOptional())
-                               return (T)optional(parseInner(partType, schema, 
in, sType.getElementType()));
+                               return (T)Utils.opt(parseInner(partType, 
schema, in, sType.getElementType()));
 
                        HttpPartDataType t = schema.getType(sType);
                        if (partType == null)
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
index d6257b4c4..0231274f0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
@@ -328,7 +328,7 @@ public final class AnnotationInfo<T extends Annotation> {
                                try {
                                        V v = (V)m.invoke(a);
                                        if (test(test, v))
-                                               return optional(v);
+                                               return Utils.opt(v);
                                } catch (Exception e) {
                                        e.printStackTrace(); // Shouldn't 
happen.
                                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
index 3891b18a7..3486a3a54 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ParamInfo.java
@@ -23,6 +23,7 @@ import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * Lightweight utility class for introspecting information about a method 
parameter.
@@ -144,7 +145,7 @@ public final class ParamInfo {
        public <A extends Annotation> A getAnnotation(Class<A> type) {
                Optional<Annotation> o = annotationMap().get(type);
                if (o == null) {
-                       o = optional(findAnnotation(type));
+                       o = Utils.opt(findAnnotation(type));
                        annotationMap().put(type, o);
                }
                return o.isPresent() ? (A)o.get() : null;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
index fbff67005..82bfd49e9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
@@ -312,7 +312,7 @@ public class UonParserSession extends ReaderParserSession 
implements HttpPartPar
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), r, outer, isUrlParamValue, 
pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), r, outer, isUrlParamValue, 
pMeta));
 
                setCurrentClass(sType);
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
index 396bb85ce..5c380c954 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserSession.java
@@ -22,6 +22,7 @@ import java.util.function.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -259,7 +260,7 @@ public class UrlEncodingParserSession extends 
UonParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), r, outer));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), r, outer));
 
                int c = r.peekSkipWs();
                if (c == '?')
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ReflectionMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ReflectionMap.java
index acd9efa19..9c53349a9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ReflectionMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/ReflectionMap.java
@@ -300,7 +300,7 @@ public class ReflectionMap<V> {
                for (ClassEntry<V> e : classEntries)
                        if (e.matches(c))
                                if (ofType == null || 
ofType.isInstance(e.value))
-                                       return optional(e.value);
+                                       return Utils.opt(e.value);
                return Utils.opte();
        }
 
@@ -379,7 +379,7 @@ public class ReflectionMap<V> {
                for (MethodEntry<V> e : methodEntries)
                        if (e.matches(m))
                                if (ofType == null || 
ofType.isInstance(e.value))
-                                       return optional(e.value);
+                                       return Utils.opt(e.value);
                return Utils.opte();
        }
 
@@ -451,7 +451,7 @@ public class ReflectionMap<V> {
                for (FieldEntry<V> e : fieldEntries)
                        if (e.matches(f))
                                if (ofType == null || 
ofType.isInstance(e.value))
-                                       return optional(e.value);
+                                       return Utils.opt(e.value);
                return Utils.opte();
        }
 
@@ -523,7 +523,7 @@ public class ReflectionMap<V> {
                for (ConstructorEntry<V> e : constructorEntries)
                        if (e.matches(c))
                                if (ofType == null || 
ofType.isInstance(e.value))
-                                       return optional(e.value);
+                                       return Utils.opt(e.value);
                return Utils.opte();
        }
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
index 57552198b..b3daaae7c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
@@ -28,6 +28,7 @@ import javax.xml.stream.util.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -455,7 +456,7 @@ public class XmlParserSession extends ReaderParserSession {
                        sType = eType;
 
                if (sType.isOptional())
-                       return 
(T)optional(parseAnything(eType.getElementType(), currAttr, r, outer, isRoot, 
pMeta));
+                       return 
(T)Utils.opt(parseAnything(eType.getElementType(), currAttr, r, outer, isRoot, 
pMeta));
 
                setCurrentClass(sType);
 
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
index 83849e430..868b44f1a 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseHeader.java
@@ -25,6 +25,7 @@ import java.util.regex.*;
 import org.apache.http.*;
 import org.apache.juneau.*;
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.http.header.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.oapi.*;
@@ -362,7 +363,7 @@ public class ResponseHeader extends BasicHeader {
         */
        public <T> Optional<T> as(ClassMeta<T> type) {
                try {
-                       return optional(parser.parse(HEADER, schema, 
getValue(), type));
+                       return Utils.opt(parser.parse(HEADER, schema, 
getValue(), type));
                } catch (ParseException e) {
                        throw new BasicRuntimeException(e, "Could not parse 
response header {0}.", getName());
                }
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicBooleanHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicBooleanHeader.java
index f2cd1a1a7..6bf4247f4 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicBooleanHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicBooleanHeader.java
@@ -162,7 +162,7 @@ public class BasicBooleanHeader extends BasicHeader {
         * @return The header value as a {@link Boolean} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Boolean> asBoolean() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
index a20b1e6e1..8447c66da 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicCsvHeader.java
@@ -20,6 +20,7 @@ import java.util.*;
 import java.util.function.*;
 
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * Category of headers that consist of a comma-delimited list of string values.
@@ -161,7 +162,7 @@ public class BasicCsvHeader extends BasicHeader {
         * @return The header value as an array wrapped in an {@link Optional}. 
 Never <jk>null</jk>.
         */
        public Optional<String[]> asArray() {
-               return optional(copyOf(value()));
+               return Utils.opt(copyOf(value()));
        }
 
        /**
@@ -185,7 +186,7 @@ public class BasicCsvHeader extends BasicHeader {
         * @return The header value as a list wrapped in an {@link Optional}.  
Never <jk>null</jk>.
         */
        public Optional<List<String>> asList() {
-               return optional(ulist(value()));
+               return Utils.opt(ulist(value()));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicDateHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicDateHeader.java
index bd91b5e9c..a1a9cec8e 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicDateHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicDateHeader.java
@@ -22,6 +22,7 @@ import java.util.*;
 import java.util.function.*;
 
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * Category of headers that consist of a single HTTP-date.
@@ -161,7 +162,7 @@ public class BasicDateHeader extends BasicHeader {
         * @return The header value as a {@link ZonedDateTime} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<ZonedDateTime> asZonedDateTime() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagHeader.java
index 44a6fb876..90d4c539f 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagHeader.java
@@ -158,7 +158,7 @@ public class BasicEntityTagHeader extends BasicHeader {
         * @return The header value as an {@link EntityTag} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<EntityTag> asEntityTag() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagsHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagsHeader.java
index 1269ee7a9..997a7174f 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagsHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicEntityTagsHeader.java
@@ -158,7 +158,7 @@ public class BasicEntityTagsHeader extends BasicHeader {
         * @return The header value as an {@link EntityTags} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<EntityTags> asEntityTags() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
index 11c231dc0..c6aaa56f0 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicHeader.java
@@ -207,7 +207,7 @@ public class BasicHeader implements Header, Cloneable, 
Serializable {
         * @return The value of this header as a string, or {@link 
Optional#empty()} if the value is <jk>null</jk>
         */
        public Optional<String> asString() {
-               return optional(getValue());
+               return Utils.opt(getValue());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicIntegerHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicIntegerHeader.java
index ba233b001..d822b8570 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicIntegerHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicIntegerHeader.java
@@ -162,7 +162,7 @@ public class BasicIntegerHeader extends BasicHeader {
         * @return The header value as an {@link Integer} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Integer> asInteger() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicLongHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicLongHeader.java
index f1aaaccd5..4fabb3bbb 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicLongHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicLongHeader.java
@@ -163,7 +163,7 @@ public class BasicLongHeader extends BasicHeader {
         * @return The header value as a {@link Long} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Long> asLong() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaRangesHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaRangesHeader.java
index bd27a74f6..1b669c151 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaRangesHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaRangesHeader.java
@@ -139,7 +139,7 @@ public class BasicMediaRangesHeader extends 
BasicStringHeader {
         * @return The header value as a {@link MediaRanges} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<MediaRanges> asMediaRanges() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaTypeHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaTypeHeader.java
index 71f279999..181c0d41b 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaTypeHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicMediaTypeHeader.java
@@ -142,7 +142,7 @@ public class BasicMediaTypeHeader extends BasicStringHeader 
{
         * @return The header value as a {@link MediaType} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<MediaType> asMediaType() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringHeader.java
index 71fee37b2..5b9385a25 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringHeader.java
@@ -140,7 +140,7 @@ public class BasicStringHeader extends BasicHeader {
 
        @Override /* BasicHeader */
        public Optional<String> asString() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringRangesHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringRangesHeader.java
index 9661d9880..159902a01 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringRangesHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicStringRangesHeader.java
@@ -161,7 +161,7 @@ public class BasicStringRangesHeader extends BasicHeader {
         * @return The header value as a {@link StringRanges} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<StringRanges> asStringRanges() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicUriHeader.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicUriHeader.java
index acfadd3f7..190b4d174 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicUriHeader.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/BasicUriHeader.java
@@ -158,7 +158,7 @@ public class BasicUriHeader extends BasicHeader {
         * @return The header value as a {@link URI} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<URI> asUri() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ClientVersion.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ClientVersion.java
index 6e613d9e1..ea4fdb57c 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ClientVersion.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/ClientVersion.java
@@ -159,7 +159,7 @@ public class ClientVersion extends BasicStringHeader {
         * @return The header value as a {@link Version} object, or {@link 
Optional#empty()} if the value is <jk>null</jk>.
         */
        public Optional<Version> asVersion() {
-               return optional(value);
+               return Utils.opt(value);
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
index e15684dfa..0d6db0b8a 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -618,7 +618,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                for (int i = 0; i < size(); i++) {
                        Header x = get(i);
                        if (eq(x.getName(), name))
-                               return optional(x);
+                               return Utils.opt(x);
                }
                return opte();
        }
@@ -636,7 +636,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                for (int i = size() - 1; i >= 0; i--) {
                        Header x = get(i);
                        if (eq(x.getName(), name))
-                               return optional(x);
+                               return Utils.opt(x);
                }
                return opte();
        }
@@ -671,7 +671,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                        return opte();
 
                if (rest == null)
-                       return optional(first);
+                       return Utils.opt(first);
 
                CharArrayBuffer sb = new CharArrayBuffer(128);
                sb.append(first.getValue());
@@ -680,7 +680,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                        sb.append(element.getValue());
                }
 
-               return optional(new BasicHeader(name, sb.toString()));
+               return Utils.opt(new BasicHeader(name, sb.toString()));
        }
 
        /**
@@ -729,7 +729,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                        return opte();
 
                if (rest == null)
-                       return optional(HeaderBeanMeta.of(type).construct(name, 
first.getValue()));
+                       return 
Utils.opt(HeaderBeanMeta.of(type).construct(name, first.getValue()));
 
                CharArrayBuffer sb = new CharArrayBuffer(128);
                sb.append(first.getValue());
@@ -738,7 +738,7 @@ public class HeaderList extends ControlledArrayList<Header> 
{
                        sb.append(element.getValue());
                }
 
-               return optional(HeaderBeanMeta.of(type).construct(name, 
sb.toString()));
+               return Utils.opt(HeaderBeanMeta.of(type).construct(name, 
sb.toString()));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/IfRange.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/IfRange.java
index 1b191e90c..778609f87 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/IfRange.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/IfRange.java
@@ -223,9 +223,9 @@ public class IfRange extends BasicDateHeader {
        public Optional<EntityTag> asEntityTag() {
                if (supplier != null) {
                        Object o = supplier.get();
-                       return optional(o instanceof EntityTag ? (EntityTag)o : 
null);
+                       return Utils.opt(o instanceof EntityTag ? (EntityTag)o 
: null);
                }
-               return optional(value);
+               return Utils.opt(value);
        }
 
        private static boolean isEtag(String s) {
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/RetryAfter.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/RetryAfter.java
index 099ef314e..ba4f0ed04 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/RetryAfter.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/RetryAfter.java
@@ -221,8 +221,8 @@ public class RetryAfter extends BasicDateHeader {
        public Optional<Integer> asInteger() {
                if (supplier != null) {
                        Object o = supplier.get();
-                       return optional(o instanceof Integer ? (Integer)o : 
null);
+                       return Utils.opt(o instanceof Integer ? (Integer)o : 
null);
                }
-               return optional(value);
+               return Utils.opt(value);
        }
 }
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Thrown.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Thrown.java
index ebc8593c5..b49edb544 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Thrown.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/Thrown.java
@@ -131,7 +131,7 @@ public class Thrown extends BasicCsvHeader {
         * @return The class name portion of the header, or <jk>null</jk> if 
not there.
         */
        public Optional<List<Part>> asParts() {
-               return optional(value);
+               return Utils.opt(value);
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicBooleanPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicBooleanPart.java
index 332c26e67..11fe96ede 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicBooleanPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicBooleanPart.java
@@ -122,7 +122,7 @@ public class BasicBooleanPart extends BasicPart {
         * @return The part value as a {@link Boolean} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Boolean> asBoolean() {
-               return optional(toBoolean());
+               return Utils.opt(toBoolean());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicCsvArrayPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicCsvArrayPart.java
index f37e9a638..582f72ca9 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicCsvArrayPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicCsvArrayPart.java
@@ -21,6 +21,7 @@ import java.util.function.*;
 
 import org.apache.http.*;
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * A {@link NameValuePair} that consists of a comma-delimited list of string 
values.
@@ -185,7 +186,7 @@ public class BasicCsvArrayPart extends BasicPart {
         * @return The part value as a {@link List} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<List<String>> asList() {
-               return optional(toList());
+               return Utils.opt(toList());
        }
 
        /**
@@ -209,7 +210,7 @@ public class BasicCsvArrayPart extends BasicPart {
         * @return The part value as an array wrapped in an {@link Optional}.  
Never <jk>null</jk>.
         */
        public Optional<String[]> asArray() {
-               return optional(copyOf(value()));
+               return Utils.opt(copyOf(value()));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicDatePart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicDatePart.java
index 815fc33c7..957acedda 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicDatePart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicDatePart.java
@@ -24,6 +24,7 @@ import java.util.function.*;
 
 import org.apache.http.*;
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * A {@link NameValuePair} that consist of a single HTTP-date.
@@ -126,7 +127,7 @@ public class BasicDatePart extends BasicPart {
         * @return The part value as a {@link ZonedDateTime} wrapped in an 
{@link Optional}.  Never <jk>null</jk>.
         */
        public Optional<ZonedDateTime> asZonedDateTime() {
-               return optional(toZonedDateTime());
+               return Utils.opt(toZonedDateTime());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
index 7084e44c6..b0484d61b 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicIntegerPart.java
@@ -122,7 +122,7 @@ public class BasicIntegerPart extends BasicPart {
         * @return The part value as an {@link Integer} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Integer> asInteger() {
-               return optional(toInteger());
+               return Utils.opt(toInteger());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
index 737d25d50..fdbe11ff6 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicLongPart.java
@@ -123,7 +123,7 @@ public class BasicLongPart extends BasicPart {
         * @return The part value as a {@link Long} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<Long> asLong() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicStringPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicStringPart.java
index bb5b28923..5a2bf948a 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicStringPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicStringPart.java
@@ -20,6 +20,7 @@ import java.util.function.*;
 
 import org.apache.http.*;
 import org.apache.juneau.assertions.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * A {@link NameValuePair} that consists of a single string value.
@@ -115,7 +116,7 @@ public class BasicStringPart extends BasicPart {
         * @return The part value as a {@link String} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<String> asString() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicUriPart.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicUriPart.java
index e1feffa45..76ab1f8b3 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicUriPart.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/BasicUriPart.java
@@ -20,6 +20,7 @@ import java.util.*;
 import java.util.function.*;
 
 import org.apache.http.*;
+import org.apache.juneau.common.internal.*;
 
 /**
  * A {@link NameValuePair} that consists of a single URL value.
@@ -116,7 +117,7 @@ public class BasicUriPart extends BasicPart {
         * @return The part value as a {@link URI} wrapped in an {@link 
Optional}.  Never <jk>null</jk>.
         */
        public Optional<URI> asUri() {
-               return optional(value());
+               return Utils.opt(value());
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
index a8fb03300..318cbcff9 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/part/PartList.java
@@ -593,7 +593,7 @@ public class PartList extends 
ControlledArrayList<NameValuePair> {
                for (int i = 0; i < size(); i++) {
                        NameValuePair x = get(i);
                        if (eq(x.getName(), name))
-                               return optional(x);
+                               return Utils.opt(x);
                }
                return opte();
        }
@@ -611,7 +611,7 @@ public class PartList extends 
ControlledArrayList<NameValuePair> {
                for (int i = size() - 1; i >= 0; i--) {
                        NameValuePair x = get(i);
                        if (eq(x.getName(), name))
-                               return optional(x);
+                               return Utils.opt(x);
                }
                return opte();
        }
@@ -646,7 +646,7 @@ public class PartList extends 
ControlledArrayList<NameValuePair> {
                        return opte();
 
                if (rest == null)
-                       return optional(first);
+                       return Utils.opt(first);
 
                CharArrayBuffer sb = new CharArrayBuffer(128);
                sb.append(first.getValue());
@@ -655,7 +655,7 @@ public class PartList extends 
ControlledArrayList<NameValuePair> {
                        sb.append(element.getValue());
                }
 
-               return optional(new BasicStringPart(name, sb.toString()));
+               return Utils.opt(new BasicStringPart(name, sb.toString()));
        }
 
        /**
@@ -713,7 +713,7 @@ public class PartList extends 
ControlledArrayList<NameValuePair> {
                        sb.append(element.getValue());
                }
 
-               return optional(PartBeanMeta.of(type).construct(name, 
sb.toString()));
+               return Utils.opt(PartBeanMeta.of(type).construct(name, 
sb.toString()));
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
 
b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
index 7bc2f56ca..cab57c96d 100644
--- 
a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
+++ 
b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringBeanStore.java
@@ -51,7 +51,7 @@ public class SpringBeanStore extends BeanStore {
                        if (o.isPresent())
                                return o;
                        if (appContext.isPresent()) {
-                               return 
optional(appContext.get().getBeanProvider(c).getIfAvailable());
+                               return 
Utils.opt(appContext.get().getBeanProvider(c).getIfAvailable());
                        }
                } catch (Exception e) {
                        e.printStackTrace();
@@ -68,8 +68,8 @@ public class SpringBeanStore extends BeanStore {
                        if (appContext.isPresent()) {
                                ApplicationContext ctx = appContext.get();
                                if (name != null)
-                                       return optional(ctx.containsBean(name) 
? appContext.get().getBean(name, c) : null);
-                               return optional(appContext.get().getBean(c));
+                                       return Utils.opt(ctx.containsBean(name) 
? appContext.get().getBean(name, c) : null);
+                               return Utils.opt(appContext.get().getBean(c));
                        }
                } catch (Exception e) {
                        e.printStackTrace();
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 53bc12373..5161b23cd 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
@@ -147,7 +147,7 @@ public class RestChildren {
                                UrlPathMatcher upp = rc.getPathMatcher();
                                UrlPathMatch uppm = 
upp.match(builder.getUrlPath());
                                if (uppm != null) {
-                                       return 
optional(RestChildMatch.create(uppm, rc));
+                                       return 
Utils.opt(RestChildMatch.create(uppm, rc));
                                }
                        }
                }
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 4837674de..77534fc7f 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
@@ -461,7 +461,7 @@ public class RestContext extends Context {
                 */
                public <T> Optional<T> resourceAs(Class<T> type) {
                        Object r = resource().get();
-                       return optional(type.isInstance(r) ? type.cast(r) : 
null);
+                       return Utils.opt(type.isInstance(r) ? type.cast(r) : 
null);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -5193,7 +5193,7 @@ public class RestContext extends Context {
                 * @return The media types.
                 */
                public Optional<List<MediaType>> produces() {
-                       return optional(produces);
+                       return Utils.opt(produces);
                }
 
                /**
@@ -5253,7 +5253,7 @@ public class RestContext extends Context {
                 * @return The media types.
                 */
                public Optional<List<MediaType>> consumes() {
-                       return optional(consumes);
+                       return Utils.opt(consumes);
                }
 
                // <FluentSetters>
@@ -6205,7 +6205,7 @@ public class RestContext extends Context {
                                throw new InternalServerError(e);
                        }
                }
-               return optional(s);
+               return Utils.opt(s);
        }
 
        /**
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 e4b6b32e5..8afae0fbb 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
@@ -337,7 +337,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<BeanContext> getBeanContext() {
-                       return 
optional(beanContext).map(BeanContext.Builder::build);
+                       return 
Utils.opt(beanContext).map(BeanContext.Builder::build);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -420,7 +420,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<EncoderSet> getEncoders() {
-                       return 
optional(encoders).map(EncoderSet.Builder::build);
+                       return 
Utils.opt(encoders).map(EncoderSet.Builder::build);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -503,7 +503,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<SerializerSet> getSerializers() {
-                       return 
optional(serializers).map(SerializerSet.Builder::build);
+                       return 
Utils.opt(serializers).map(SerializerSet.Builder::build);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -586,7 +586,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<ParserSet> getParsers() {
-                       return optional(parsers).map(ParserSet.Builder::build);
+                       return Utils.opt(parsers).map(ParserSet.Builder::build);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -668,7 +668,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<HttpPartSerializer> getPartSerializer() {
-                       return optional(partSerializer).map(Creator::create);
+                       return Utils.opt(partSerializer).map(Creator::create);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -750,7 +750,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<HttpPartParser> getPartParser() {
-                       return 
optional(partParser).map(org.apache.juneau.httppart.HttpPartParser.Creator::create);
+                       return 
Utils.opt(partParser).map(org.apache.juneau.httppart.HttpPartParser.Creator::create);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -832,7 +832,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
                }
 
                Optional<JsonSchemaGenerator> getJsonSchemaGenerator() {
-                       return 
optional(jsonSchemaGenerator).map(JsonSchemaGenerator.Builder::build);
+                       return 
Utils.opt(jsonSchemaGenerator).map(JsonSchemaGenerator.Builder::build);
                }
 
                
//-----------------------------------------------------------------------------------------------------------------
@@ -1100,7 +1100,7 @@ public class RestOpContext extends Context implements 
Comparable<RestOpContext>
 
                RestGuardList getGuards() {
                        RestGuardList.Builder b = guards();
-                       Set<String> roleGuard = 
optional(this.roleGuard).orElseGet(CollectionUtils::set);
+                       Set<String> roleGuard = 
Utils.opt(this.roleGuard).orElseGet(CollectionUtils::set);
 
                        for (String rg : roleGuard) {
                                try {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 4f2c883f4..9f87bc4ee 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -36,6 +36,7 @@ import org.apache.juneau.assertions.*;
 import org.apache.juneau.bean.swagger.*;
 import org.apache.juneau.bean.swagger.Swagger;
 import org.apache.juneau.common.internal.*;
+import org.apache.juneau.common.internal.Utils;
 import org.apache.juneau.config.*;
 import org.apache.juneau.cp.Messages;
 import org.apache.juneau.http.annotation.Content;
@@ -594,7 +595,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
        public Optional<TimeZone> getTimeZone() {
                String tz = headers.get("Time-Zone").asString().orElse(null);
                if (tz != null)
-                       return optional(TimeZone.getTimeZone(tz));
+                       return Utils.opt(TimeZone.getTimeZone(tz));
                return Optional.empty();
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index dc86cf737..3b10b49b5 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -226,7 +226,7 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
         * @return This object.
         */
        public RestResponse setContent(Object output) {
-               this.content = optional(output);
+               this.content = Utils.opt(output);
                return this;
        }
 
@@ -547,7 +547,7 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
         * @return This object.
         */
        public RestResponse setContentSchema(HttpPartSchema schema) {
-               this.contentSchema = optional(schema);
+               this.contentSchema = Utils.opt(schema);
                return this;
        }
 
@@ -830,9 +830,9 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
                if (serializerMatch != null)
                        return serializerMatch;
                if (serializer != null) {
-                       serializerMatch = optional(new 
SerializerMatch(getMediaType(), serializer));
+                       serializerMatch = Utils.opt(new 
SerializerMatch(getMediaType(), serializer));
                } else {
-                       serializerMatch = 
optional(opContext.getSerializers().getSerializerMatch(request.getHeaderParam("Accept").orElse("*/*")));
+                       serializerMatch = 
Utils.opt(opContext.getSerializers().getSerializerMatch(request.getHeaderParam("Accept").orElse("*/*")));
                }
                return serializerMatch;
        }
@@ -846,11 +846,11 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
                if (contentSchema != null)
                        return contentSchema;
                if (responseBeanMeta != null)
-                       contentSchema = optional(responseBeanMeta.getSchema());
+                       contentSchema = Utils.opt(responseBeanMeta.getSchema());
                else {
                        ResponseBeanMeta rbm = 
opContext.getResponseBeanMeta(getContent(Object.class));
                        if (rbm != null)
-                               contentSchema = optional(rbm.getSchema());
+                               contentSchema = Utils.opt(rbm.getSchema());
                        else
                                contentSchema = Utils.opte();
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttribute.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttribute.java
index 7d658f090..27184caef 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttribute.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttribute.java
@@ -85,7 +85,7 @@ public class RequestAttribute extends BasicNamedAttribute {
         * @return The value of this part as a string, or {@link 
Optional#empty()} if the part was not present.
         */
        public Optional<String> asString() {
-               return optional(Utils.s(getValue()));
+               return Utils.opt(Utils.s(getValue()));
        }
 
        /**
@@ -97,6 +97,6 @@ public class RequestAttribute extends BasicNamedAttribute {
         * @throws BasicHttpException If value could not be parsed.
         */
        public <T> Optional<T> as(Class<T> type) {
-               return optional(req.getBeanSession().convertToType(getValue(), 
type));
+               return Utils.opt(req.getBeanSession().convertToType(getValue(), 
type));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
index 160ae519f..06765fddb 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
@@ -456,9 +456,9 @@ public class RequestContent {
         */
        public Optional<ParserMatch> getParserMatch() {
                if (mediaType != null && parser != null)
-                       return optional(new ParserMatch(mediaType, parser));
+                       return Utils.opt(new ParserMatch(mediaType, parser));
                MediaType mt = getMediaType();
-               return optional(mt).map(x -> parsers.getParserMatch(x));
+               return Utils.opt(mt).map(x -> parsers.getParserMatch(x));
        }
 
        private MediaType getMediaType() {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
index 7c138eefd..52519510b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
@@ -180,7 +180,7 @@ public class RequestHttpPart {
         * @return The value of this part as a string, or {@link 
Optional#empty()} if the part was not present.
         */
        public Optional<String> asString() {
-               return optional(getValue());
+               return Utils.opt(getValue());
        }
 
        /**
@@ -249,12 +249,12 @@ public class RequestHttpPart {
                                        if (! isPresent())
                                                return Utils.opte();
                                        if (cc.hasParamTypes(String.class))
-                                               return 
optional(cc.invoke(get()));
+                                               return 
Utils.opt(cc.invoke(get()));
                                        if (cc.hasParamTypes(String.class, 
String.class))
-                                               return 
optional(cc.invoke(getName(), get()));
+                                               return 
Utils.opt(cc.invoke(getName(), get()));
                                }
                        }
-                       return optional(parser.parse(HEADER, schema, 
orElse(null), type));
+                       return Utils.opt(parser.parse(HEADER, schema, 
orElse(null), type));
                } catch (ParseException e) {
                        throw new BadRequest(e, "Could not parse {0} parameter 
''{1}''.", partType.toString().toLowerCase(), getName());
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
index e992cf0c3..fbbff6cde 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
@@ -118,11 +118,9 @@ public class BasicStaticFiles implements StaticFiles {
                        Optional<InputStream> is = getStream(path, locale);
                        if (! is.isPresent())
                                return Utils.opte();
-                       return optional(
-                               streamResource(is.get())
-                                       .setHeaders(contentType(mimeTypes == 
null ? null : mimeTypes.getContentType(getFileName(path))))
-                                       .addHeaders(headers)
-                       );
+                       return Utils.opt(streamResource(is.get())
+                       .setHeaders(contentType(mimeTypes == null ? null : 
mimeTypes.getContentType(getFileName(path))))
+                       .addHeaders(headers));
                } catch (IOException e) {
                        throw new InternalServerError(e);
                }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStats.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStats.java
index a5fbef9f7..fb2a28e04 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStats.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStats.java
@@ -16,6 +16,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.cp.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.marshaller.*;
@@ -169,7 +170,7 @@ public class ThrownStats implements Cloneable {
                this.thrownClass = builder.throwable.getClass();
                this.firstMessage = builder.throwable.getMessage();
                this.stackTrace = 
listBuilder(builder.stackTrace).copy().unmodifiable().build();
-               this.causedBy = optional(builder.causedBy);
+               this.causedBy = Utils.opt(builder.causedBy);
                this.hash = builder.hash;
                this.count = new AtomicInteger(0);
                long ct = System.currentTimeMillis();
@@ -185,7 +186,7 @@ public class ThrownStats implements Cloneable {
                this.thrownClass = x.thrownClass;
                this.firstMessage = x.firstMessage;
                this.stackTrace = 
listBuilder(x.stackTrace).copy().unmodifiable().build();
-               this.causedBy = optional(x.causedBy.isPresent() ? 
x.causedBy.get().clone() : null);
+               this.causedBy = Utils.opt(x.causedBy.isPresent() ? 
x.causedBy.get().clone() : null);
                this.hash = x.hash;
                this.count = new AtomicInteger(x.count.get());
                this.firstOccurrence = new AtomicLong(x.firstOccurrence.get());
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
index da8c1182e..808878546 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/stats/ThrownStore.java
@@ -175,7 +175,7 @@ public class ThrownStore {
         * @param builder The builder for this object.
         */
        public ThrownStore(Builder builder) {
-               this.parent = optional(builder.parent);
+               this.parent = Utils.opt(builder.parent);
                this.beanStore = builder.beanStore();
 
                this.statsImplClass = 
Utils.firstNonNull(builder.statsImplClass, parent.isPresent() ? 
parent.get().statsImplClass : null, null);
@@ -222,7 +222,7 @@ public class ThrownStore {
         */
        public Optional<ThrownStats> getStats(long hash) {
                ThrownStats s = db.get(hash);
-               return optional(s == null ? null : s.clone());
+               return Utils.opt(s == null ? null : s.clone());
        }
 
        /**
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 d901c8535..25bb79209 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
@@ -98,8 +98,8 @@ public class BasicSwaggerProviderSession {
                InputStream is = ff.getStream(rci.getSimpleName() + ".json", 
locale).orElse(null);
 
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
 
                // Load swagger JSON from classpath.
                JsonMap omSwagger = Json5.DEFAULT.read(is, JsonMap.class);
@@ -762,7 +762,7 @@ public class BasicSwaggerProviderSession {
        private JsonMap toMap(Tag a, String location, Object...locationArgs) {
                JsonMap om = JsonMap.create();
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                om
                        .appendIf(ne, "name", resolve(a.name()))
                        .appendIf(ne, "description", 
resolve(joinnl(a.description())))
@@ -932,8 +932,8 @@ public class BasicSwaggerProviderSession {
                                return om;
                        om = newMap(om);
                        Predicate<String> ne = StringUtils::isNotEmpty;
-                       Predicate<Collection<?>> nec = 
CollectionUtils::isNotEmpty;
-                       Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+                       Predicate<Collection<?>> nec = 
CollectionUtils::isNotEmpty2;
+                       Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                        Predicate<Boolean> nf = Utils::isTrue;
                        Predicate<Long> nm1 = Utils::isNotMinusOne;
                        return om
@@ -990,8 +990,8 @@ public class BasicSwaggerProviderSession {
                        return om;
                om = newMap(om);
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                Predicate<Boolean> nf = Utils::isTrue;
                Predicate<Long> nm1 = Utils::isNotMinusOne;
                return om
@@ -1021,8 +1021,8 @@ public class BasicSwaggerProviderSession {
                        return om;
                om = newMap(om);
                Predicate<String> ne = StringUtils::isNotEmpty;
-               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty;
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Collection<?>> nec = CollectionUtils::isNotEmpty2;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                Predicate<Boolean> nf = Utils::isTrue;
                Predicate<Long> nm1 = Utils::isNotMinusOne;
                return om
@@ -1051,7 +1051,7 @@ public class BasicSwaggerProviderSession {
                if (ResponseAnnotation.empty(a))
                        return om;
                om = newMap(om);
-               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty;
+               Predicate<Map<?,?>> nem = CollectionUtils::isNotEmpty2;
                if (! SchemaAnnotation.empty(a.schema()))
                        merge(om, a.schema());
                return om
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 3cca50066..4948bd54e 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
@@ -18,6 +18,7 @@ import java.util.function.*;
 
 import org.apache.juneau.cp.*;
 import org.apache.juneau.bean.swagger.Swagger;
+import org.apache.juneau.common.internal.*;
 import org.apache.juneau.http.response.*;
 import org.apache.juneau.jsonschema.*;
 import org.apache.juneau.rest.*;
@@ -106,7 +107,7 @@ public interface SwaggerProvider {
                 * @return The var resolver.
                 */
                public Optional<VarResolver> varResolver() {
-                       return optional(varResolver).map(Supplier::get);
+                       return Utils.opt(varResolver).map(Supplier::get);
                }
 
                /**
@@ -115,7 +116,7 @@ public interface SwaggerProvider {
                 * @return The JSON schema generator.
                 */
                public Optional<JsonSchemaGenerator> jsonSchemaGenerator() {
-                       return optional(jsonSchemaGenerator).map(Supplier::get);
+                       return 
Utils.opt(jsonSchemaGenerator).map(Supplier::get);
                }
 
                /**
@@ -124,7 +125,7 @@ public interface SwaggerProvider {
                 * @return The messages.
                 */
                public Optional<Messages> messages() {
-                       return optional(messages).map(Supplier::get);
+                       return Utils.opt(messages).map(Supplier::get);
                }
 
                /**
@@ -133,7 +134,7 @@ public interface SwaggerProvider {
                 * @return The file finder.
                 */
                public Optional<FileFinder> fileFinder() {
-                       return optional(fileFinder).map(Supplier::get);
+                       return Utils.opt(fileFinder).map(Supplier::get);
                }
 
                /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPath.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPath.java
index c647f8cda..2dd3ede22 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPath.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/UrlPath.java
@@ -79,7 +79,7 @@ public class UrlPath {
                String p = parts[parts.length-1];
                if (p.indexOf('.') == -1)
                        return Utils.opte();
-               return optional(p);
+               return Utils.opt(p);
        }
 
        /**


Reply via email to