You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/05/23 14:08:47 UTC

[juneau] branch master updated: Support for missing enum values during parsing.

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 f2e90aabd Support for missing enum values during parsing.
f2e90aabd is described below

commit f2e90aabdb693aa1b5b5c829ed335f4aa4e5a433
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Mon May 23 10:07:31 2022 -0400

    Support for missing enum values during parsing.
---
 .../main/java/org/apache/juneau/config/Entry.java  |  20 ++-
 .../java/org/apache/juneau/config/Section.java     |   3 +
 .../java/org/apache/juneau/dto/atom/package.html   |  36 +---
 .../org/apache/juneau/dto/html5/HtmlElement.java   |   1 +
 .../juneau/dto/html5/HtmlElementContainer.java     |   1 +
 .../apache/juneau/dto/html5/HtmlElementMixed.java  |   1 +
 .../java/org/apache/juneau/dto/html5/package.html  |  32 +---
 .../org/apache/juneau/dto/jsonschema/package.html  |  34 +---
 .../apache/juneau/dto/swagger/ParameterInfo.java   |   2 +-
 .../org/apache/juneau/dto/swagger/Swagger.java     |   1 +
 .../apache/juneau/dto/swagger/SwaggerElement.java  |   1 +
 .../java/org/apache/juneau/jena/RdfParser.java     |   2 +-
 .../org/apache/juneau/jena/RdfParserSession.java   |  14 +-
 .../apache/juneau/jena/RdfSerializerSession.java   |  24 +--
 .../org/apache/juneau/jena/annotation/Rdf.java     |  11 ++
 .../juneau/jena/annotation/RdfAnnotation.java      |   2 +
 .../apache/juneau/jena/annotation/RdfConfig.java   | 138 +++++++++++----
 .../org/apache/juneau/jena/annotation/RdfNs.java   |   4 +
 .../apache/juneau/jena/annotation/RdfSchema.java   |   6 +
 .../java/org/apache/juneau/AnnotationApplier.java  |   3 +-
 .../java/org/apache/juneau/AnnotationProvider.java |   6 +
 .../java/org/apache/juneau/BasicPropertyNamer.java |   8 +-
 .../main/java/org/apache/juneau/BeanContext.java   |  65 ++++++-
 .../java/org/apache/juneau/BeanContextable.java    |  28 +++-
 .../main/java/org/apache/juneau/BeanFilter.java    |  24 +--
 .../src/main/java/org/apache/juneau/BeanMeta.java  |   1 +
 .../main/java/org/apache/juneau/BeanSession.java   |  68 ++++----
 .../org/apache/juneau/BeanTraverseContext.java     |   2 +-
 .../org/apache/juneau/BeanTraverseSession.java     |   8 +-
 .../src/main/java/org/apache/juneau/ClassMeta.java |  36 +++-
 .../src/main/java/org/apache/juneau/Context.java   |   7 +
 .../java/org/apache/juneau/ContextSession.java     |   1 +
 .../java/org/apache/juneau/PropertyNamerDLC.java   |   6 +-
 .../java/org/apache/juneau/PropertyNamerDUCS.java  |   6 +-
 .../java/org/apache/juneau/PropertyNamerULC.java   |   6 +-
 .../src/main/java/org/apache/juneau/Value.java     |   4 +
 .../main/java/org/apache/juneau/Visibility.java    |   1 +
 .../apache/juneau/annotation/AnnotationGroup.java  |   2 +
 .../java/org/apache/juneau/annotation/Bean.java    |  42 +++++
 .../apache/juneau/annotation/BeanAnnotation.java   |   2 +
 .../org/apache/juneau/annotation/BeanConfig.java   | 165 ++++++++++++++----
 .../juneau/annotation/BeanConfigAnnotation.java    |   1 +
 .../org/apache/juneau/annotation/BeanIgnore.java   |   4 +
 .../juneau/annotation/BeanIgnoreAnnotation.java    |   2 +
 .../java/org/apache/juneau/annotation/Beanc.java   |   4 +
 .../apache/juneau/annotation/BeancAnnotation.java  |   2 +
 .../java/org/apache/juneau/annotation/Beanp.java   |  20 +++
 .../apache/juneau/annotation/BeanpAnnotation.java  |   5 +-
 .../java/org/apache/juneau/annotation/Builder.java |   2 +
 .../org/apache/juneau/annotation/ContextApply.java |   2 +
 .../java/org/apache/juneau/annotation/Example.java |   6 +
 .../juneau/annotation/ExampleAnnotation.java       |   2 +
 .../org/apache/juneau/annotation/Marshalled.java   |   8 +
 .../juneau/annotation/MarshalledAnnotation.java    |   2 +
 .../java/org/apache/juneau/annotation/Name.java    |   2 +
 .../org/apache/juneau/annotation/NameProperty.java |   2 +
 .../juneau/annotation/NamePropertyAnnotation.java  |   2 +
 .../apache/juneau/annotation/ParentProperty.java   |   2 +
 .../annotation/ParentPropertyAnnotation.java       |   2 +
 .../java/org/apache/juneau/annotation/Swap.java    |  12 ++
 .../apache/juneau/annotation/SwapAnnotation.java   |   2 +
 .../java/org/apache/juneau/annotation/Uri.java     |   4 +
 .../apache/juneau/annotation/UriAnnotation.java    |   2 +
 .../org/apache/juneau/assertions/AnyAssertion.java |   1 +
 .../apache/juneau/assertions/ArrayAssertion.java   |   1 +
 .../org/apache/juneau/assertions/Assertion.java    |   1 +
 .../juneau/assertions/AssertionPredicate.java      |   6 +-
 .../juneau/assertions/AssertionPredicates.java     |   3 +
 .../org/apache/juneau/assertions/Assertions.java   |  42 +++--
 .../apache/juneau/assertions/BeanAssertion.java    |   1 +
 .../juneau/assertions/BeanListAssertion.java       |   1 +
 .../juneau/assertions/CollectionAssertion.java     |   1 +
 .../juneau/assertions/ComparableAssertion.java     |   1 +
 .../juneau/assertions/FluentAnyAssertion.java      |   8 +
 .../apache/juneau/assertions/FluentAssertion.java  |   4 +-
 .../juneau/assertions/FluentObjectAssertion.java   |   6 +-
 .../assertions/FluentThrowableAssertion.java       |  30 ++--
 .../apache/juneau/assertions/ListAssertion.java    |   2 +
 .../org/apache/juneau/assertions/MapAssertion.java |   2 +
 .../apache/juneau/assertions/ObjectAssertion.java  |   1 +
 .../juneau/assertions/PrimitiveArrayAssertion.java |   2 +
 .../java/org/apache/juneau/assertions/Snippet.java |   2 +-
 .../juneau/assertions/ThrowableAssertion.java      |   3 +-
 .../org/apache/juneau/collections/JsonList.java    |   4 +
 .../org/apache/juneau/collections/JsonMap.java     |   6 +
 .../apache/juneau/cp/BeanCreateMethodFinder.java   |   3 +-
 .../java/org/apache/juneau/cp/BeanCreator.java     |   3 +
 .../main/java/org/apache/juneau/cp/BeanStore.java  |   9 +
 .../java/org/apache/juneau/cp/BeanStoreEntry.java  |   1 +
 .../org/apache/juneau/cp/ContextBeanCreator.java   |   7 +-
 .../org/apache/juneau/cp/DefaultClassList.java     |   1 +
 .../org/apache/juneau/cp/DefaultSettingsMap.java   |   1 +
 .../java/org/apache/juneau/csv/annotation/Csv.java |   4 +
 .../juneau/csv/annotation/CsvAnnotation.java       |   2 +
 .../apache/juneau/csv/annotation/CsvConfig.java    |   2 +
 .../juneau/html/HtmlDocSerializerSession.java      |  26 +--
 .../apache/juneau/html/HtmlSerializerSession.java  |  12 +-
 .../org/apache/juneau/html/annotation/Html.java    |  16 ++
 .../juneau/html/annotation/HtmlAnnotation.java     |   2 +
 .../apache/juneau/html/annotation/HtmlConfig.java  |  26 ++-
 .../juneau/html/annotation/HtmlDocConfig.java      |  58 +++++--
 .../apache/juneau/html/annotation/HtmlLink.java    |   8 +
 .../juneau/html/annotation/HtmlLinkAnnotation.java |   2 +
 .../java/org/apache/juneau/http/HttpHeaders.java   |   2 +
 .../org/apache/juneau/http/annotation/Body.java    |   6 +
 .../juneau/http/annotation/BodyAnnotation.java     |   2 +
 .../org/apache/juneau/http/annotation/Contact.java |   6 +
 .../juneau/http/annotation/ExternalDocs.java       |   4 +
 .../apache/juneau/http/annotation/FormData.java    |  14 ++
 .../juneau/http/annotation/FormDataAnnotation.java |   2 +
 .../apache/juneau/http/annotation/HasFormData.java |   4 +
 .../apache/juneau/http/annotation/HasQuery.java    |   4 +
 .../org/apache/juneau/http/annotation/Header.java  |  14 ++
 .../juneau/http/annotation/HeaderAnnotation.java   |   2 +
 .../org/apache/juneau/http/annotation/Items.java   |  68 ++++++++
 .../org/apache/juneau/http/annotation/License.java |   4 +
 .../org/apache/juneau/http/annotation/Path.java    |  14 ++
 .../juneau/http/annotation/PathAnnotation.java     |   2 +
 .../org/apache/juneau/http/annotation/Query.java   |  14 ++
 .../juneau/http/annotation/QueryAnnotation.java    |   2 +
 .../org/apache/juneau/http/annotation/Request.java |   8 +
 .../juneau/http/annotation/RequestAnnotation.java  |   2 +
 .../apache/juneau/http/annotation/Response.java    |  14 ++
 .../juneau/http/annotation/ResponseAnnotation.java |   2 +
 .../org/apache/juneau/http/annotation/Schema.java  | 116 +++++++++++++
 .../juneau/http/annotation/SchemaAnnotation.java   |   2 +
 .../apache/juneau/http/annotation/StatusCode.java  |   6 +
 .../http/annotation/StatusCodeAnnotation.java      |   2 +
 .../apache/juneau/http/annotation/SubItems.java    |  68 ++++++++
 .../org/apache/juneau/http/annotation/Tag.java     |   6 +
 .../apache/juneau/http/entity/BasicHttpEntity.java |   2 +
 .../juneau/http/entity/HttpEntityBuilder.java      |   8 +-
 .../apache/juneau/http/header/HeaderBeanMeta.java  |   1 +
 .../org/apache/juneau/http/header/HeaderList.java  |   7 +-
 .../org/apache/juneau/http/part/PartBeanMeta.java  |   1 +
 .../java/org/apache/juneau/http/part/PartList.java |   9 +-
 .../java/org/apache/juneau/http/remote/Remote.java |  10 ++
 .../apache/juneau/http/remote/RemoteDelete.java    |   6 +
 .../org/apache/juneau/http/remote/RemoteGet.java   |   6 +
 .../org/apache/juneau/http/remote/RemoteOp.java    |   8 +
 .../org/apache/juneau/http/remote/RemotePost.java  |   6 +
 .../org/apache/juneau/http/remote/RemotePut.java   |   6 +
 .../apache/juneau/http/resource/BasicResource.java |   1 +
 .../apache/juneau/http/resource/HttpResource.java  |   2 +-
 .../juneau/http/resource/HttpResourceBuilder.java  |   8 +-
 .../juneau/http/response/BasicHttpException.java   |   1 +
 .../juneau/http/response/BasicHttpResponse.java    |   1 +
 .../java/org/apache/juneau/http/response/Ok.java   |   3 +
 .../apache/juneau/httppart/BaseHttpPartParser.java |   3 +
 .../juneau/httppart/HttpPartParserSession.java     |   1 +
 .../org/apache/juneau/httppart/HttpPartSchema.java |   1 +
 .../org/apache/juneau/internal/ArrayBuilder.java   |  25 +--
 .../org/apache/juneau/internal/ArrayUtils.java     |  34 ++--
 .../java/org/apache/juneau/internal/BiMap.java     | 186 +++++++++++++++++++++
 .../apache/juneau/internal/CollectionUtils.java    | 161 ++++++++++++------
 .../org/apache/juneau/internal/ConsumerUtils.java  |   4 +
 .../java/org/apache/juneau/internal/DateUtils.java |  16 +-
 .../org/apache/juneau/internal/FluentSetters.java  |   4 +
 .../org/apache/juneau/internal/ListBuilder.java    |   1 +
 .../org/apache/juneau/internal/ObjectUtils.java    |   9 +-
 .../org/apache/juneau/internal/StringUtils.java    |  18 +-
 .../java/org/apache/juneau/internal/SystemEnv.java |   1 +
 .../org/apache/juneau/internal/ThrowableUtils.java |   1 +
 .../org/apache/juneau/json/JsonParserSession.java  |   2 +-
 .../apache/juneau/json/JsonSerializerSession.java  |   6 +-
 .../org/apache/juneau/json/annotation/Json.java    |   6 +
 .../juneau/json/annotation/JsonAnnotation.java     |   2 +
 .../apache/juneau/json/annotation/JsonConfig.java  |  18 +-
 .../jsonschema/JsonSchemaGeneratorSession.java     |  14 +-
 .../jsonschema/annotation/JsonSchemaConfig.java    |  48 ++++--
 .../apache/juneau/msgpack/annotation/MsgPack.java  |   4 +
 .../msgpack/annotation/MsgPackAnnotation.java      |   2 +
 .../juneau/msgpack/annotation/MsgPackConfig.java   |   6 +-
 .../org/apache/juneau/oapi/annotation/OpenApi.java |   4 +
 .../juneau/oapi/annotation/OpenApiAnnotation.java  |   2 +
 .../juneau/oapi/annotation/OpenApiConfig.java      |   8 +-
 .../juneau/parser/InputStreamParserSession.java    |   2 +-
 .../org/apache/juneau/parser/ParserSession.java    |  17 +-
 .../java/org/apache/juneau/parser/ParserSet.java   |  11 +-
 .../juneau/parser/annotation/ParserConfig.java     |  38 ++++-
 .../juneau/plaintext/annotation/PlainText.java     |   4 +
 .../plaintext/annotation/PlainTextAnnotation.java  |   2 +
 .../plaintext/annotation/PlainTextConfig.java      |   2 +
 .../org/apache/juneau/reflect/AnnotationInfo.java  |   8 +
 .../org/apache/juneau/reflect/AnnotationList.java  |   3 +
 .../java/org/apache/juneau/reflect/ClassInfo.java  |  19 ++-
 .../org/apache/juneau/reflect/ConstructorInfo.java |   8 +
 .../org/apache/juneau/reflect/ExecutableInfo.java  |   1 +
 .../java/org/apache/juneau/reflect/FieldInfo.java  |   6 +
 .../java/org/apache/juneau/reflect/MethodInfo.java |   9 +
 .../java/org/apache/juneau/reflect/Mutaters.java   |   7 +-
 .../java/org/apache/juneau/reflect/ParamInfo.java  |  27 +--
 .../juneau/serializer/OutputStreamSerializer.java  |   2 +-
 .../serializer/OutputStreamSerializerSession.java  |   2 +-
 .../juneau/serializer/SerializerSession.java       |  29 ++--
 .../apache/juneau/serializer/SerializerSet.java    |   9 +-
 .../juneau/serializer/WriterSerializerSession.java |   6 +-
 .../serializer/annotation/SerializerConfig.java    |  92 +++++++---
 .../juneau/soap/SoapXmlSerializerSession.java      |   2 +-
 .../org/apache/juneau/soap/annotation/SoapXml.java |   4 +
 .../juneau/soap/annotation/SoapXmlAnnotation.java  |   2 +
 .../juneau/soap/annotation/SoapXmlConfig.java      |   6 +-
 .../org/apache/juneau/svl/VarResolverSession.java  |   2 +
 .../org/apache/juneau/swap/FunctionalSwap.java     |   4 +-
 .../main/java/org/apache/juneau/uon/UonParser.java |   3 +
 .../org/apache/juneau/uon/UonParserSession.java    |   4 +-
 .../main/java/org/apache/juneau/uon/UonReader.java |   4 +-
 .../apache/juneau/uon/UonSerializerSession.java    |   8 +-
 .../java/org/apache/juneau/uon/annotation/Uon.java |   4 +
 .../juneau/uon/annotation/UonAnnotation.java       |   2 +
 .../apache/juneau/uon/annotation/UonConfig.java    |  22 ++-
 .../urlencoding/UrlEncodingParserSession.java      |   2 +-
 .../urlencoding/UrlEncodingSerializerSession.java  |   2 +-
 .../juneau/urlencoding/annotation/UrlEncoding.java |   6 +
 .../annotation/UrlEncodingAnnotation.java          |   2 +
 .../urlencoding/annotation/UrlEncodingConfig.java  |   6 +-
 .../java/org/apache/juneau/utils/BeanDiff.java     |   3 +-
 .../java/org/apache/juneau/utils/Consumer2.java    |   1 +
 .../java/org/apache/juneau/utils/Consumer3.java    |   1 +
 .../java/org/apache/juneau/utils/Consumer4.java    |   1 +
 .../java/org/apache/juneau/utils/PojoMerge.java    |   2 +
 .../java/org/apache/juneau/utils/PojoQuery.java    |  16 +-
 .../org/apache/juneau/utils/ThrowingConsumer.java  |   2 +-
 .../org/apache/juneau/utils/ThrowingFunction.java  |   2 +-
 .../org/apache/juneau/utils/Tuple2Function.java    |   2 +-
 .../org/apache/juneau/utils/Tuple3Function.java    |   2 +-
 .../org/apache/juneau/utils/Tuple4Function.java    |   2 +-
 .../org/apache/juneau/utils/Tuple5Function.java    |   2 +-
 .../org/apache/juneau/xml/XmlParserSession.java    |  10 +-
 .../apache/juneau/xml/XmlSerializerSession.java    |  12 +-
 .../main/java/org/apache/juneau/xml/XmlWriter.java |   4 +-
 .../java/org/apache/juneau/xml/annotation/Xml.java |  12 ++
 .../juneau/xml/annotation/XmlAnnotation.java       |   2 +
 .../apache/juneau/xml/annotation/XmlConfig.java    |  46 +++--
 .../org/apache/juneau/xml/annotation/XmlNs.java    |   4 +
 .../apache/juneau/xml/annotation/XmlSchema.java    |   6 +
 juneau-doc/pom.xml                                 |   4 +-
 .../juneau-examples-rest-jetty-ftest/pom.xml       |   2 +-
 .../juneau/examples/rest/PhotosResource.java       |  71 ++++++--
 .../apache/juneau/microservice/Microservice.java   |   2 +-
 .../microservice/resources/DirectoryResource.java  |   8 +-
 .../microservice/resources/LogsResource.java       |  10 +-
 .../juneau-microservice-ftest/pom.xml              |   2 +-
 .../microservice/jetty/JettyServerFactory.java     |   2 +-
 .../jetty/resources/DebugResource.java             |  18 +-
 .../juneau-my-jetty-microservice/pom.xml           |   2 +
 .../apache/juneau/rest/client/ResponseBody.java    |   4 +-
 .../apache/juneau/rest/client/ResponseHeader.java  |   2 +-
 .../org/apache/juneau/rest/client/RestClient.java  |  48 +++---
 .../org/apache/juneau/rest/client/RestRequest.java |  26 +--
 .../apache/juneau/rest/client/RestResponse.java    |   4 +-
 .../assertion/FluentResponseBodyAssertion.java     |   9 +-
 .../assertion/FluentResponseHeaderAssertion.java   |   3 +-
 .../apache/juneau/rest/jaxrs/JuneauProvider.java   |   6 +
 .../rest/config/BasicUniversalJenaConfig.java      |   2 +-
 .../java/org/apache/juneau/rest/RestContext.java   | 101 +++++------
 .../java/org/apache/juneau/rest/RestOpContext.java |  36 ++--
 .../java/org/apache/juneau/rest/RestRequest.java   |   6 +
 .../java/org/apache/juneau/rest/RestResponse.java  |   1 +
 .../org/apache/juneau/rest/annotation/Attr.java    |   6 +
 .../apache/juneau/rest/annotation/OpSwagger.java   |  60 +++----
 .../org/apache/juneau/rest/annotation/Rest.java    | 116 ++++++++++++-
 .../apache/juneau/rest/annotation/RestDelete.java  |  40 +++++
 .../org/apache/juneau/rest/annotation/RestGet.java |  46 +++++
 .../apache/juneau/rest/annotation/RestHook.java    |   4 +
 .../juneau/rest/annotation/RestHookAnnotation.java |   2 +
 .../org/apache/juneau/rest/annotation/RestOp.java  |  58 +++++++
 .../apache/juneau/rest/annotation/RestPost.java    |  56 +++++++
 .../org/apache/juneau/rest/annotation/RestPut.java |  56 +++++++
 .../org/apache/juneau/rest/annotation/Swagger.java |  18 ++
 .../juneau/rest/arg/HttpServletRequestArgs.java    |   1 +
 .../juneau/rest/arg/HttpServletResponseArgs.java   |   1 +
 .../apache/juneau/rest/arg/HttpSessionArgs.java    |   1 +
 .../apache/juneau/rest/arg/RestContextArgs.java    |   1 +
 .../apache/juneau/rest/arg/RestOpSessionArgs.java  |   1 +
 .../apache/juneau/rest/arg/RestRequestArgs.java    |   1 +
 .../apache/juneau/rest/arg/RestResponseArgs.java   |   1 +
 .../apache/juneau/rest/arg/RestSessionArgs.java    |   1 +
 .../juneau/rest/arg/SimpleRestOperationArg.java    |   1 +
 .../assertions/FluentRequestBodyAssertion.java     |   6 +-
 .../FluentRequestFormParamAssertion.java           |   3 +-
 .../assertions/FluentRequestHeaderAssertion.java   |   3 +-
 .../FluentRequestQueryParamAssertion.java          |   3 +-
 .../org/apache/juneau/rest/beans/Hyperlink.java    |  10 +-
 .../apache/juneau/rest/config/BasicJsonConfig.java |   5 +-
 .../juneau/rest/config/BasicJsonHtmlConfig.java    |   5 +-
 .../juneau/rest/config/BasicOpenApiConfig.java     |   3 +-
 .../juneau/rest/config/BasicSimpleJsonConfig.java  |   3 +-
 .../juneau/rest/config/BasicUniversalConfig.java   |   5 +-
 .../juneau/rest/debug/BasicDebugEnablement.java    |   2 +-
 .../apache/juneau/rest/debug/DebugEnablement.java  |   2 +-
 .../juneau/rest/httppart/RequestFormParams.java    |   1 +
 .../juneau/rest/httppart/RequestHeaders.java       |   1 +
 .../juneau/rest/httppart/RequestPathParams.java    |   1 +
 .../juneau/rest/httppart/RequestQueryParams.java   |   1 +
 .../juneau/rest/logging/BasicRestLogger.java       |   4 +-
 .../juneau/rest/logging/BasicTestRestLogger.java   |   2 +-
 .../org/apache/juneau/rest/logging/RestLogger.java |   2 +-
 .../apache/juneau/rest/logging/RestLoggerRule.java |  14 +-
 .../org/apache/juneau/rest/remote/RrpcServlet.java |   2 +-
 .../java/org/apache/juneau/rest/widget/Widget.java |   2 +-
 juneau-utest/pom.xml                               |   2 +-
 .../java/org/apache/juneau/BeanContextTest.java    |  19 ++-
 pom.xml                                            |  14 +-
 304 files changed, 2913 insertions(+), 851 deletions(-)

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 32ea2dd2c..0f6780bc4 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
@@ -116,6 +116,7 @@ public class Entry {
 	/**
 	 * Returns this entry converted to the specified type.
 	 *
+	 * @param <T> The type to convert the value to.
 	 * @param type The type to convert the value to.
 	 * @return This entry converted to the specified type.
 	 */
@@ -167,6 +168,7 @@ public class Entry {
 	 * 		Use the {@link #as(Class)} method instead if you don't need a parameterized map/collection.
 	 * </ul>
 	 *
+	 * @param <T> The object type to create.
 	 * @param type
 	 * 	The object type to create.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType}
@@ -184,6 +186,7 @@ public class Entry {
 	/**
 	 * Same as {@link #as(Type, Type...)} but specifies the parser to use to parse the entry.
 	 *
+	 * @param <T> The object type to create.
 	 * @param parser
 	 * 	The parser to use to parse the entry.
 	 * @param type
@@ -228,6 +231,7 @@ public class Entry {
 	/**
 	 * Returns this entry converted to the specified type.
 	 *
+	 * @param <T> The type to convert the value to.
 	 * @param parser The parser to use to parse the entry value.
 	 * @param type The type to convert the value to.
 	 * @return This entry converted to the specified type, or {@link Optional#empty()} if the entry does not exist.
@@ -288,13 +292,13 @@ public class Entry {
 	 * <h5 class='section'>Example:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>
-	 * 		<code><js>"100K"</js> => 1024000</code>
+	 * 		<code><js>"100K"</js> -&gt; 1024000</code>
 	 * 	<li>
-	 * 		<code><js>"100M"</js> => 104857600</code>
+	 * 		<code><js>"100M"</js> -&gt; 104857600</code>
 	 * 	<li>
-	 * 		<code><js>"100k"</js> => 1000000</code>
+	 * 		<code><js>"100k"</js> -&gt; 1000000</code>
 	 * 	<li>
-	 * 		<code><js>"100m"</js> => 100000000</code>
+	 * 		<code><js>"100m"</js> -&gt; 100000000</code>
 	 * </ul>
 	 *
 	 * <p>
@@ -335,13 +339,13 @@ public class Entry {
 	 * <h5 class='section'>Example:</h5>
 	 * <ul class='spaced-list'>
 	 * 	<li>
-	 * 		<code><js>"100K"</js> => 1024000</code>
+	 * 		<code><js>"100K"</js> -&gt; 1024000</code>
 	 * 	<li>
-	 * 		<code><js>"100M"</js> => 104857600</code>
+	 * 		<code><js>"100M"</js> -&gt; 104857600</code>
 	 * 	<li>
-	 * 		<code><js>"100k"</js> => 1000000</code>
+	 * 		<code><js>"100k"</js> -&gt; 1000000</code>
 	 * 	<li>
-	 * 		<code><js>"100m"</js> => 100000000</code>
+	 * 		<code><js>"100m"</js> -&gt; 100000000</code>
 	 * </ul>
 	 *
 	 * <p>
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 53218110a..bc8193286 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
@@ -59,6 +59,7 @@ public class Section {
 	/**
 	 * Shortcut for calling <code>asBean(sectionName, c, <jk>false</jk>)</code>.
 	 *
+	 * @param <T> The bean class to create.
 	 * @param c The bean class to create.
 	 * @return A new bean instance, or {@link Optional#empty()} if this section does not exist.
 	 * @throws ParseException Malformed input encountered.
@@ -98,6 +99,7 @@ public class Section {
 	 * 	Address <jv>address</jv> = <jv>config</jv>.getSection(<js>"MySection"</js>).asBean(Address.<jk>class</jk>).orElse(<jk>null</jk>);
 	 * </p>
 	 *
+	 * @param <T> The bean class to create.
 	 * @param c The bean class to create.
 	 * @param ignoreUnknownProperties
 	 * 	If <jk>false</jk>, throws a {@link ParseException} if the section contains an entry that isn't a bean property
@@ -199,6 +201,7 @@ public class Section {
 	 * 	<li>Calls to setters when the configuration is read-only will cause {@link UnsupportedOperationException} to be thrown.
 	 * </ul>
 	 *
+	 * @param <T> The proxy interface class.
 	 * @param c The proxy interface class.
 	 * @return The proxy interface.
 	 */
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
index 6feb5829a..8f92cb7d3 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/atom/package.html
@@ -27,33 +27,9 @@
 			margin: 20px; 
 		}	
 	</style>
-	<script>
-		/* Replace all @code and @link tags. */	
-		window.onload = function() {
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
-		}
-	</script>
 </head>
 <body>
 <p>ATOM Data Transfer Objects</p>
-<script>
-	function toggle(x) {
-		var div = x.nextSibling;
-		while (div != null && div.nodeType != 1)
-			div = div.nextSibling;
-		if (div != null) {
-			var d = div.style.display;
-			if (d == 'block' || d == '') {
-				div.style.display = 'none';
-				x.className += " closed";
-			} else {
-				div.style.display = 'block';
-				x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-			}
-		}
-	}
-</script>
 <a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
 <ol class='toc'>
 	<li><p>{@doc package-summary.html#Overview Overview}</p>
@@ -71,7 +47,7 @@
 
 <!-- ======================================================================================================== -->
 <a id="Overview"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - Overview</h2>
+<h2 class='topic'>1 - Overview</h2>
 <div class='topic'>
 	<p>
 		Juneau supports generation and consumption of ATOM feeds through the use of DTOs (Data Transfer Objects).
@@ -85,7 +61,7 @@
 	
 	<!-- ======================================================================================================== -->
 	<a id="Serialize"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.1 - Serializing ATOM feeds</h3>
+	<h3 class='topic'>1.1 - Serializing ATOM feeds</h3>
 	<div class='topic'>
 		<p>
 			The Juneau ATOM feed DTOs are simply beans with fluent-style setters.
@@ -308,7 +284,7 @@
 	
 		<!-- ======================================================================================================== -->
 		<a id="AtomJson"></a>
-		<h4 class='topic' onclick='toggle(this)'>1.1.1 - ATOM/JSON</h4>
+		<h4 class='topic'>1.1.1 - ATOM/JSON</h4>
 		<div class='topic'>
 			<p>
 				The {@link org.apache.juneau.json.JsonSerializer} class can also be used to produce ATOM in JSON format.
@@ -406,7 +382,7 @@
 
 		<!-- ======================================================================================================== -->
 		<a id="AtomRdfXml"></a>
-		<h4 class='topic' onclick='toggle(this)'>1.1.2 - ATOM/RDF/XML</h4>
+		<h4 class='topic'>1.1.2 - ATOM/RDF/XML</h4>
 		<div class='topic'>
 			<p>
 				The {@link org.apache.juneau.jena.RdfSerializer} class and subclasses can also be used to produce ATOM 
@@ -527,7 +503,7 @@
 		
 		<!-- ======================================================================================================== -->
 		<a id="AtomHtml"></a>
-		<h4 class='topic' onclick='toggle(this)'>1.1.3 - ATOM/HTML</h4>
+		<h4 class='topic'>1.1.3 - ATOM/HTML</h4>
 		<div class='topic'>
 			<p>
 				The {@link org.apache.juneau.html.HtmlSerializer} class can be used to produce ATOM in HTML format.
@@ -544,7 +520,7 @@
 
 	<!-- ======================================================================================================== -->
 	<a id="Parse"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.2 - Parsing ATOM feeds</h3>
+	<h3 class='topic'>1.2 - Parsing ATOM feeds</h3>
 	<div class='topic'>
 		<p>
 			Use the {@link org.apache.juneau.xml.XmlParser} to convert ATOM/XML feeds back into their original POJOs:
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
index 41284f055..ee4bd01ed 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
@@ -129,6 +129,7 @@ public abstract class HtmlElement {
 	/**
 	 * Returns the attribute with the specified name converted to the specified class type.
 	 *
+	 * @param <T> The class type to convert this class to.
 	 * @param type
 	 * 	The class type to convert this class to.
 	 * 	See {@link ConverterUtils} for a list of supported conversion types.
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
index 66227d210..cd6838903 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
@@ -98,6 +98,7 @@ public class HtmlElementContainer extends HtmlElement {
 	/**
 	 * Returns the child node at the specified index.
 	 *
+	 * @param <T> The class type of the node.
 	 * @param type The class type of the node.
 	 * @param index The index of the node in the list of children.
 	 * @return The child node, or <jk>null</jk> if it doesn't exist.
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
index dc18bc679..68277d363 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
@@ -98,6 +98,7 @@ public class HtmlElementMixed extends HtmlElement {
 	/**
 	 * Returns the child node at the specified index.
 	 *
+	 * @param <T> he class type of the node.
 	 * @param type The class type of the node.
 	 * @param index The index of the node in the list of children.
 	 * @return The child node, or <jk>null</jk> if it doesn't exist.
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/package.html b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/package.html
index 7b93eb659..2c80830e6 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/package.html
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/html5/package.html
@@ -27,33 +27,9 @@
 			margin: 20px; 
 		}	
 	</style>
-	<script>
-		/* Replace all @code and @link tags. */	
-		window.onload = function() {
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
-		}
-	</script>
 </head>
 <body>
 <p>HTML5 Data Transfer Objects</p>
-<script>
-	function toggle(x) {
-		var div = x.nextSibling;
-		while (div != null && div.nodeType != 1)
-			div = div.nextSibling;
-		if (div != null) {
-			var d = div.style.display;
-			if (d == 'block' || d == '') {
-				div.style.display = 'none';
-				x.className += " closed";
-			} else {
-				div.style.display = 'block';
-				x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-			}
-		}
-	}
-</script>
 <a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
 <ol class='toc'>
 	<li><p>{@doc package-summary.html#Overview Overview}</p>
@@ -67,7 +43,7 @@
 
 <!-- ======================================================================================================== -->
 <a id="Overview"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - Overview</h2>
+<h2 class='topic'>1 - Overview</h2>
 <div class='topic'>
 	<p>
 		Juneau supports generation and consumption of HTML5 documents and fragments through the use of DTOs (Data 
@@ -78,7 +54,7 @@
 	
 	<!-- ======================================================================================================== -->
 	<a id="Serialize"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.1 - Generating HTML5</h3>
+	<h3 class='topic'>1.1 - Generating HTML5</h3>
 	<div class='topic'>
 		<p>
 			The Juneau HTML5 DTOs are simply beans with fluent-style setters that allow you to quickly construct HTML
@@ -219,7 +195,7 @@
 
 	<!-- ======================================================================================================== -->
 	<a id="Parse"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.2 - Parsing HTML5</h3>
+	<h3 class='topic'>1.2 - Parsing HTML5</h3>
 	<div class='topic'>
 		<p>
 			Use the {@link org.apache.juneau.html.HtmlParser} to convert HTML5 documents back into their original POJOs:
@@ -238,7 +214,7 @@
 
 	<!-- ======================================================================================================== -->
 	<a id="Templates"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.3 - HTML5 templates</h3>
+	<h3 class='topic'>1.3 - HTML5 templates</h3>
 	<div class='topic'>
 		<p>
 			If you're finding yourself reusing the same HTML5 DTO objects over and over that only differ slightly, 
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/package.html b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/package.html
index d229c5a7f..b94875fa0 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/package.html
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/jsonschema/package.html
@@ -27,33 +27,9 @@
 			margin: 20px; 
 		}	
 	</style>
-	<script>
-		/* Replace all @code and @link tags. */	
-		window.onload = function() {
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-			document.body.innerHTML = document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, '<code>$3</code>');
-		}
-	</script>
 </head>
 <body>
 <p>JSON-Schema Data Transfer Objects</p>
-<script>
-	function toggle(x) {
-		var div = x.nextSibling;
-		while (div != null && div.nodeType != 1)
-			div = div.nextSibling;
-		if (div != null) {
-			var d = div.style.display;
-			if (d == 'block' || d == '') {
-				div.style.display = 'none';
-				x.className += " closed";
-			} else {
-				div.style.display = 'block';
-				x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-			}
-		}
-	}
-</script>
 <a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
 <ol class='toc'>
 	<li><p>{@doc package-summary.html#Overview Overview}</p>
@@ -68,7 +44,7 @@
 </ol>
 <!-- ======================================================================================================== -->
 <a id="Overview"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - Overview</h2>
+<h2 class='topic'>1 - Overview</h2>
 <div class='topic'>
 	<p>
 		Juneau supports serializing and parsing of JSON-Schema documents through the use of beans defined in the 
@@ -83,7 +59,7 @@
 	
 	<!-- ======================================================================================================== -->
 	<a id="SchemaDefinition"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.1 - JSON-Schema schema definition</h3>
+	<h3 class='topic'>1.1 - JSON-Schema schema definition</h3>
 	<div class='topic'>
 		<p>
 			The draft JSON-Schema specification that the JSON-Schema beans are modeled after is as follows:
@@ -268,7 +244,7 @@
 
 	<!-- ======================================================================================================== -->
 	<a id="Serialize"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.2 - Creating JSON-Schema documents</h3>
+	<h3 class='topic'>1.2 - Creating JSON-Schema documents</h3>
 	<div class='topic'>
 		<p>
 			JSON-Schema documents can be constructed using the Juneau JSON-Schema beans as a document model object.
@@ -403,7 +379,7 @@
 	
 		<!-- ======================================================================================================== -->
 		<a id="SerializeToOther"></a>
-		<h4 class='topic' onclick='toggle(this)'>1.2.1 - Serializing to other data types</h4>
+		<h4 class='topic'>1.2.1 - Serializing to other data types</h4>
 		<div class='topic'>
 			<p>
 				Since the JSON-Schema DTOs are simple beans, they can be used to serialize to a variety of other 
@@ -519,7 +495,7 @@
 		
 	<!-- ======================================================================================================== -->
 	<a id="Parse"></a>
-	<h3 class='topic' onclick='toggle(this)'>1.3 - Parsing JSON-Schema documents</h3>
+	<h3 class='topic'>1.3 - Parsing JSON-Schema documents</h3>
 	<div class='topic'>
 		<p>
 			Use the {@link org.apache.juneau.json.JsonParser} to parse JSON-Schema documents into DTOs:
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
index 22176e4a8..2c55f0d49 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/ParameterInfo.java
@@ -1604,7 +1604,7 @@ public class ParameterInfo extends SwaggerElement {
 	 * <p>
 	 * The schema defining the type used for the body parameter as raw JSON.
 	 *
-	 * <h5 class='section'>Example:,/h5>
+	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	schema(<js>"{type:'type',description:'description',...}"</js>);
 	 * </p>
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Swagger.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Swagger.java
index aee32e38b..2b08aa53b 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Swagger.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/Swagger.java
@@ -1745,6 +1745,7 @@ public class Swagger extends SwaggerElement {
 	/**
 	 * Resolves a <js>"$ref"</js> tags to nodes in this swagger document.
 	 *
+	 * @param <T> The class to convert the reference to.
 	 * @param ref The ref tag value.
 	 * @param c The class to convert the reference to.
 	 * @return The referenced node, or <jk>null</jk> if the ref was <jk>null</jk> or empty or not found.
diff --git a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
index 11120cf18..f4aebb764 100644
--- a/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
+++ b/juneau-core/juneau-dto/src/main/java/org/apache/juneau/dto/swagger/SwaggerElement.java
@@ -80,6 +80,7 @@ public abstract class SwaggerElement {
 	 * <p>
 	 * Can be used to retrieve non-standard Swagger fields such as <js>"$ref"</js>.
 	 *
+	 * @param <T> The datatype to cast the value to.
 	 * @param property The property name to retrieve.
 	 * @param type The datatype to cast the value to.
 	 * @return The property value, or <jk>null</jk> if the property does not exist or is not set.
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index 0d56ebbe5..0faed1a1f 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -872,7 +872,7 @@ public class RdfParser extends ReaderParser implements RdfMetaProvider {
 		/**
 		 * Same as {@link #looseCollections()} but explicitly specifies the setting value.
 		 *
-		 * @param value
+		 * @param value The new value for this property.
 		 * @return This object.
 		 */
 		@FluentSetter
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 848d664ce..613c4f2c4 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
@@ -601,7 +601,7 @@ public class RdfParserSession extends ReaderParserSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  RDF format for representing collections and arrays.
+	 * RDF format for representing collections and arrays.
 	 *
 	 * @see RdfParser.Builder#collectionFormat(RdfCollectionFormat)
 	 * @return
@@ -612,7 +612,7 @@ public class RdfParserSession extends ReaderParserSession {
 	}
 
 	/**
-	 * Configuration property:  Default XML namespace for bean properties.
+	 * Default XML namespace for bean properties.
 	 *
 	 * @see RdfParser.Builder#juneauBpNs(Namespace)
 	 * @return
@@ -623,7 +623,7 @@ public class RdfParserSession extends ReaderParserSession {
 	}
 
 	/**
-	 * Configuration property:  XML namespace for Juneau properties.
+	 * XML namespace for Juneau properties.
 	 *
 	 * @see RdfParser.Builder#juneauNs(Namespace)
 	 * @return
@@ -634,7 +634,7 @@ public class RdfParserSession extends ReaderParserSession {
 	}
 
 	/**
-	 * Configuration property:  RDF language.
+	 * RDF language.
 	 *
 	 * @see RdfParser.Builder#language(String)
 	 * @return
@@ -645,7 +645,7 @@ public class RdfParserSession extends ReaderParserSession {
 	}
 
 	/**
-	 * Configuration property:  Collections should be serialized and parsed as loose collections.
+	 * Collections should be serialized and parsed as loose collections.
 	 *
 	 * @see RdfParser.Builder#looseCollections()
 	 * @return
@@ -661,7 +661,7 @@ public class RdfParserSession extends ReaderParserSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  All Jena-related configuration properties.
+	 * All Jena-related configuration properties.
 	 *
 	 * @return
 	 * 	A map of all Jena-related configuration properties.
@@ -675,7 +675,7 @@ public class RdfParserSession extends ReaderParserSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Trim whitespace from text elements.
+	 * Trim whitespace from text elements.
 	 *
 	 * @see RdfParser.Builder#trimWhitespace()
 	 * @return
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
index 936046c3e..cdb0108e6 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
@@ -568,7 +568,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  RDF format for representing collections and arrays.
+	 * RDF format for representing collections and arrays.
 	 *
 	 * @see RdfSerializer.Builder#collectionFormat(RdfCollectionFormat)
 	 * @return
@@ -579,7 +579,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Default XML namespace for bean properties.
+	 * Default XML namespace for bean properties.
 	 *
 	 * @see RdfSerializer.Builder#juneauBpNs(Namespace)
 	 * @return
@@ -590,7 +590,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  XML namespace for Juneau properties.
+	 * XML namespace for Juneau properties.
 	 *
 	 * @see RdfSerializer.Builder#juneauNs(Namespace)
 	 * @return
@@ -601,7 +601,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  RDF language.
+	 * RDF language.
 	 *
 	 * @see RdfSerializer.Builder#language(String)
 	 * @return
@@ -612,7 +612,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Collections should be serialized and parsed as loose collections.
+	 * Collections should be serialized and parsed as loose collections.
 	 *
 	 * @see RdfSerializer.Builder#looseCollections()
 	 * @return
@@ -628,7 +628,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  All Jena-related configuration properties.
+	 * All Jena-related configuration properties.
 	 *
 	 * @return
 	 * 	A map of all Jena-related configuration properties.
@@ -642,7 +642,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * @see RdfSerializer.Builder#addBeanTypes()
 	 * @return
@@ -655,7 +655,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Add XSI data types to non-<c>String</c> literals.
+	 * Add XSI data types to non-<c>String</c> literals.
 	 *
 	 * @see RdfSerializer.Builder#addLiteralTypes()
 	 * @return
@@ -666,7 +666,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Add RDF root identifier property to root node.
+	 * Add RDF root identifier property to root node.
 	 *
 	 * @see RdfSerializer.Builder#addRootProperty()
 	 * @return
@@ -678,7 +678,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
+	 * Auto-detect namespace usage.
 	 *
 	 * @see RdfSerializer.Builder#disableAutoDetectNamespaces()
 	 * @return
@@ -689,7 +689,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Default namespaces.
+	 * Default namespaces.
 	 *
 	 * @see RdfSerializer.Builder#namespaces(Namespace...)
 	 * @return
@@ -700,7 +700,7 @@ public final class RdfSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Reuse XML namespaces when RDF namespaces not specified.
+	 * Reuse XML namespaces when RDF namespaces not specified.
 	 *
 	 * @see RdfSerializer.Builder#disableUseXmlNamespaces()
 	 * @return
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
index 7ced2bfbf..fda7b0bf0 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/Rdf.java
@@ -59,6 +59,8 @@ public @interface Rdf {
 	 * 		{@link RdfSerializer} - Will be rendered as the value of the <js>"rdf:about"</js> attribute
 	 * 		for the bean.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean beanUri() default false;
 
@@ -66,6 +68,7 @@ public @interface Rdf {
 	 * The format for how collections (lists and arrays for example) are serialized in RDF.
 	 *
 	 * @see RdfCollectionFormat
+	 * @return The annotation value.
 	 */
 	RdfCollectionFormat collectionFormat() default RdfCollectionFormat.DEFAULT;
 
@@ -75,6 +78,8 @@ public @interface Rdf {
 	 * <p>
 	 * Must be matched with a {@link #prefix() @Rdf(prefix)} annotation on this object, a parent object, or a {@link RdfNs @RdfNs} with the
 	 * same name through the {@link RdfSchema#rdfNs() @RdfSchema(rdfNs)} annotation on the package.
+	 *
+	 * @return The annotation value.
 	 */
 	String namespace() default "";
 
@@ -160,6 +165,8 @@ public @interface Rdf {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -172,6 +179,8 @@ public @interface Rdf {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -181,6 +190,8 @@ public @interface Rdf {
 	 * <p>
 	 * Must either be matched to a {@link #namespace() @Rdf(namespace)} annotation on the same object, parent object, or a {@link RdfNs @RdfNs}
 	 * with the same name through the {@link RdfSchema#rdfNs() @RdfSchema(rdfNs)} annotation on the package.
+	 *
+	 * @return The annotation value.
 	 */
 	String prefix() default "";
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
index 9d4b14053..e26b4e8aa 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
@@ -307,6 +307,8 @@ public class RdfAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Rdf[] value();
 	}
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
index 2ba6c74df..c3cb93886 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
@@ -45,6 +45,8 @@ public @interface RdfConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -53,7 +55,7 @@ public @interface RdfConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  RDF language.
+	 * RDF language.
 	 *
 	 * <p>
 	 * 	The RDF language to use.
@@ -96,11 +98,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#language(String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#language(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String language() default "";
 
 	/**
-	 * Configuration property:  XML namespace for Juneau properties.
+	 * XML namespace for Juneau properties.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -111,11 +115,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#juneauNs(Namespace)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#juneauNs(Namespace)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String juneauNs() default "";
 
 	/**
-	 * Configuration property:  Default XML namespace for bean properties.
+	 * Default XML namespace for bean properties.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -126,11 +132,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#juneauBpNs(Namespace)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#juneauBpNs(Namespace)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String juneauBpNs() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>iri_rules</c>.
+	 * RDF/XML property: <c>iri_rules</c>.
 	 *
 	 * <p>
 	 * Set the engine for checking and resolving.
@@ -153,11 +161,13 @@ public @interface RdfConfig {
 	 * 	<li>
 	 * 		Supports {@doc jm.DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_iriRules() default "";
 
 	/**
-	 * Configuration property:  RDF/XML ARP property: <c>error-mode</c>.
+	 * RDF/XML ARP property: <c>error-mode</c>.
 	 *
 	 * <p>
 	 * This allows a coarse-grained approach to control of error handling.
@@ -188,11 +198,13 @@ public @interface RdfConfig {
 	 * 	<li>
 	 * 		{@doc ext.ARP/ARPOptions.html#setStrictErrorMode(int) ARPOptions.setStrictErrorMode(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_errorMode() default "";
 
 	/**
-	 * Configuration property:  RDF/XML ARP property: <c>embedding</c>.
+	 * RDF/XML ARP property: <c>embedding</c>.
 	 *
 	 * <p>
 	 * Sets ARP to look for RDF embedded within an enclosing XML document.
@@ -206,11 +218,13 @@ public @interface RdfConfig {
 	 * 	<li>
 	 * 		{@doc ext.ARP/ARPOptions.html#setEmbedding(boolean) ARPOptions.setEmbedding(boolean)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_embedding() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>xmlbase</c>.
+	 * RDF/XML property: <c>xmlbase</c>.
 	 *
 	 * <p>
 	 * The value to be included for an <xa>xml:base</xa> attribute on the root element in the file.
@@ -224,11 +238,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_xmlbase(String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_xmlbase(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_xmlBase() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>longId</c>.
+	 * RDF/XML property: <c>longId</c>.
 	 *
 	 * <p>
 	 * Whether to use long ID's for anon resources.
@@ -243,11 +259,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_longId()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_longId()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_longId() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>allowBadURIs</c>.
+	 * RDF/XML property: <c>allowBadURIs</c>.
 	 *
 	 * <p>
 	 * URIs in the graph are, by default, checked prior to serialization.
@@ -261,11 +279,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_allowBadUris()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_allowBadUris()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_allowBadUris() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>relativeURIs</c>.
+	 * RDF/XML property: <c>relativeURIs</c>.
 	 *
 	 * <p>
 	 * What sort of relative URIs should be used.
@@ -301,11 +321,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_relativeUris(String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_relativeUris(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_relativeUris() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>showXmlDeclaration</c>.
+	 * RDF/XML property: <c>showXmlDeclaration</c>.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -328,11 +350,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_showXmlDeclaration(String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_showXmlDeclaration(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_showXmlDeclaration() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>disableShowDoctypeDeclaration</c>.
+	 * RDF/XML property: <c>disableShowDoctypeDeclaration</c>.
 	 *
 	 * <p>
 	 * If true, an XML doctype declaration isn't included in the output.
@@ -349,11 +373,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_disableShowDoctypeDeclaration()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_disableShowDoctypeDeclaration()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_disableShowDoctypeDeclaration() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>tab</c>.
+	 * RDF/XML property: <c>tab</c>.
 	 *
 	 * <p>
 	 * The number of spaces with which to indent XML child elements.
@@ -367,11 +393,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_tab(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_tab(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_tab() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>attributeQuoteChar</c>.
+	 * RDF/XML property: <c>attributeQuoteChar</c>.
 	 *
 	 * <p>
 	 * The XML attribute quote character.
@@ -385,11 +413,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_attributeQuoteChar(char)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_attributeQuoteChar(char)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_attributeQuoteChar() default "";
 
 	/**
-	 * Configuration property:  RDF/XML property: <c>blockRules</c>.
+	 * RDF/XML property: <c>blockRules</c>.
 	 *
 	 * <p>
 	 * A list of <c>Resource</c> or a <c>String</c> being a comma separated list of fragment IDs from
@@ -405,11 +435,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#rdfxml_blockRules(String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#rdfxml_blockRules(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String rdfxml_blockRules() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>minGap</c>.
+	 * N3/Turtle property: <c>minGap</c>.
 	 *
 	 * <p>
 	 * Minimum gap between items on a line.
@@ -423,11 +455,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_minGap(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_minGap(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_minGap() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>disableObjectLists</c>.
+	 * N3/Turtle property: <c>disableObjectLists</c>.
 	 *
 	 * <p>
 	 * Don't print object lists as comma separated lists.
@@ -441,11 +475,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_disableObjectLists()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_disableObjectLists()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_disableObjectLists() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>subjectColumn</c>.
+	 * N3/Turtle property: <c>subjectColumn</c>.
 	 *
 	 * <p>
 	 * If the subject is shorter than this value, the first property may go on the same line.
@@ -459,11 +495,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_subjectColumn(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_subjectColumn(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_subjectColumn() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>propertyColumn</c>.
+	 * N3/Turtle property: <c>propertyColumn</c>.
 	 *
 	 * <p>
 	 * Width of the property column.
@@ -477,11 +515,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_propertyColumn(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_propertyColumn(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_propertyColumn() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>indentProperty</c>.
+	 * N3/Turtle property: <c>indentProperty</c>.
 	 *
 	 * <p>
 	 * Width to indent properties.
@@ -495,11 +535,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_indentProperty(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_indentProperty(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_indentProperty() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>widePropertyLen</c>.
+	 * N3/Turtle property: <c>widePropertyLen</c>.
 	 *
 	 * <p>
 	 * Width of the property column.
@@ -514,11 +556,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_widePropertyLen(int)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_widePropertyLen(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_widePropertyLen() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>disableAbbrevBaseURI</c>.
+	 * N3/Turtle property: <c>disableAbbrevBaseURI</c>.
 	 *
 	 * <p>
 	 * Controls whether to use abbreviations <c>&lt;&gt;</c> or <c>&lt;#&gt;</c>.
@@ -532,11 +576,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_disableAbbrevBaseUri()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_disableAbbrevBaseUri()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_disableAbbrevBaseUri() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>disableUsePropertySymbols</c>.
+	 * N3/Turtle property: <c>disableUsePropertySymbols</c>.
 	 *
 	 * <p>
 	 * Controls whether to use <c>a</c>, <c>=</c> and <c>=&gt;</c> in output
@@ -550,11 +596,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_disableUsePropertySymbols()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_disableUsePropertySymbols()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_disableUsePropertySymbols() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>disableUseTripleQuotedStrings</c>.
+	 * N3/Turtle property: <c>disableUseTripleQuotedStrings</c>.
 	 *
 	 * <p>
 	 * Disallow the use of <c>"""</c> to delimit long strings.
@@ -568,11 +616,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_disableUseTripleQuotedStrings()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_disableUseTripleQuotedStrings()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_disableUseTripleQuotedStrings() default "";
 
 	/**
-	 * Configuration property:  N3/Turtle property: <c>disableUseDoubles</c>.
+	 * N3/Turtle property: <c>disableUseDoubles</c>.
 	 *
 	 * <p>
 	 * Disallow the use doubles as <c>123.456</c>.
@@ -586,11 +636,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#n3_disableUseDoubles()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#n3_disableUseDoubles()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String n3_disableUseDoubles() default "";
 
 	/**
-	 * Configuration property:  RDF format for representing collections and arrays.
+	 * RDF format for representing collections and arrays.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -618,11 +670,13 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#collectionFormat(RdfCollectionFormat)}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#collectionFormat(RdfCollectionFormat)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String collectionFormat() default "";
 
 	/**
-	 * Configuration property:  Collections should be serialized and parsed as loose collections.
+	 * Collections should be serialized and parsed as loose collections.
 	 *
 	 * <p>
 	 * When specified, collections of resources are handled as loose collections of resources in RDF instead of
@@ -646,6 +700,8 @@ public @interface RdfConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#looseCollections()}
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#looseCollections()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String looseCollections() default "";
 
@@ -654,7 +710,7 @@ public @interface RdfConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Trim whitespace from text elements.
+	 * Trim whitespace from text elements.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, whitespace in text elements will be automatically trimmed.
@@ -667,6 +723,8 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfParser.Builder#trimWhitespace()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String trimWhitespace() default "";
 
@@ -675,7 +733,7 @@ public @interface RdfConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * If <js>"true"</js>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
 	 * through reflection.
@@ -692,11 +750,13 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#addBeanTypes()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addBeanTypes() default "";
 
 	/**
-	 * Configuration property:  Add XSI data types to non-<c>String</c> literals.
+	 * Add XSI data types to non-<c>String</c> literals.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -706,11 +766,13 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#addLiteralTypes()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addLiteralTypes() default "";
 
 	/**
-	 * Configuration property:  Add RDF root identifier property to root node.
+	 * Add RDF root identifier property to root node.
 	 *
 	 * <p>
 	 * When enabled an RDF property <c>http://www.apache.org/juneau/root</c> is added with a value of <js>"true"</js>
@@ -729,11 +791,13 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#addRootProperty()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addRootProperty() default "";
 
 	/**
-	 * Configuration property:  Disable auto-detect namespace usage.
+	 * Disable auto-detect namespace usage.
 	 *
 	 * <p>
 	 * Don't detect namespace usage before serialization.
@@ -750,11 +814,13 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#disableAutoDetectNamespaces()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableAutoDetectNamespaces() default "";
 
 	/**
-	 * Configuration property:  Default namespaces.
+	 * Default namespaces.
 	 *
 	 * <p>
 	 * The default list of namespaces associated with this serializer.
@@ -767,11 +833,13 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#namespaces(Namespace...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] namespaces() default {};
 
 	/**
-	 * Configuration property:  Disable reuse of XML namespaces when RDF namespaces not specified.
+	 * Disable reuse of XML namespaces when RDF namespaces not specified.
 	 *
 	 * <p>
 	 * When specified, namespaces defined using {@link XmlNs @XmlNs} and {@link Xml @Xml} will be inherited by the RDF serializers.
@@ -791,6 +859,8 @@ public @interface RdfConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jena.RdfSerializer.Builder#disableUseXmlNamespaces()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableUseXmlNamespaces() default "";
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfNs.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfNs.java
index 929ed0cf6..84c9daa0a 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfNs.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfNs.java
@@ -35,11 +35,15 @@ public @interface RdfNs {
 
 	/**
 	 * RDF namespace URL.
+	 *
+	 * @return The annotation value.
 	 */
 	String namespaceURI();
 
 	/**
 	 * RDF namespace prefix.
+	 *
+	 * @return The annotation value.
 	 */
 	String prefix();
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java
index 7c843a338..7a70aff61 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java
@@ -37,6 +37,8 @@ public @interface RdfSchema {
 	 * <p>
 	 * Must either be matched with a {@link #prefix()} annotation, or an {@link #rdfNs()} mapping with the same
 	 * {@link RdfNs#namespaceURI() @RdfNs(namespaceURI)} value.
+	 *
+	 * @return The annotation value.
 	 */
 	public String namespace() default "";
 
@@ -46,6 +48,8 @@ public @interface RdfSchema {
 	 * <p>
 	 * Must either be matched with a {@link #namespace()} annotation, or an {@link #rdfNs()} mapping with the same
 	 * {@link RdfNs#prefix} value.
+	 *
+	 * @return The annotation value.
 	 */
 	public String prefix() default "";
 
@@ -93,6 +97,8 @@ public @interface RdfSchema {
 	 * 		<jk>public</jk> String <jf>street</jf>, <jf>city</jf>, <jf>state</jf>;
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	public RdfNs[] rdfNs() default {};
 }
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 9e8da24c1..0357ab419 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
@@ -35,7 +35,7 @@ import org.apache.juneau.svl.*;
  * <p>
  * The following code shows the general design pattern.
  *
- * <p class 'bjava'>
+ * <p class='bjava'>
  * 	<jc>// The annotation applied to classes and methods.</jc>
  * 	<ja>@Target</ja>({METHOD,TYPE})
  * 	<ja>@Retention</ja>(<jsf>RUNTIME</jsf>)
@@ -152,6 +152,7 @@ public abstract class AnnotationApplier<A extends Annotation, B> {
 	/**
 	 * Returns the specified value if it's simple name is not <js>"void"</js>.
 	 *
+	 * @param <T> The value to return.
 	 * @param in The value to return.
 	 * @return An optional containing the specified value.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationProvider.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationProvider.java
index c9e646202..b3a6abc3a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationProvider.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationProvider.java
@@ -200,6 +200,7 @@ public interface AnnotationProvider {
 	/**
 	 * Performs an action on the matching annotations on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if action should be performed.  Can be <jk>null</jk>.
@@ -210,6 +211,7 @@ public interface AnnotationProvider {
 	/**
 	 * Finds the first matching annotation on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if value should be used.  Can be <jk>null</jk>.
@@ -220,6 +222,7 @@ public interface AnnotationProvider {
 	/**
 	 * Finds the last matching annotation on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if value should be used.  Can be <jk>null</jk>.
@@ -230,6 +233,7 @@ public interface AnnotationProvider {
 	/**
 	 * Performs an action on the matching declared annotations on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if action should be performed.  Can be <jk>null</jk>.
@@ -240,6 +244,7 @@ public interface AnnotationProvider {
 	/**
 	 * Finds the first matching declared annotations on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if value should be used.  Can be <jk>null</jk>.
@@ -250,6 +255,7 @@ public interface AnnotationProvider {
 	/**
 	 * Finds the last matching declared annotations on the specified class.
 	 *
+	 * @param <A> The annotation type to find.
 	 * @param type The annotation type to find.
 	 * @param onClass The class to search on.
 	 * @param filter A predicate to apply to the entries to determine if value should be used.  Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicPropertyNamer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicPropertyNamer.java
index da38df8ea..60cf43a87 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicPropertyNamer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BasicPropertyNamer.java
@@ -19,10 +19,10 @@ import java.beans.*;
  *
  * <h5 class='section'>Example:</h5>
  * <ul>
- * 	<li><js>"fooBar"</js> -> <js>"fooBar"</js>
- * 	<li><js>"fooBarURL"</js> -> <js>"fooBarURL"</js>
- * 	<li><js>"FooBarURL"</js> -> <js>"fooBarURL"</js>
- * 	<li><js>"URL"</js> -> <js>"URL"</js>
+ * 	<li><js>"fooBar"</js> -&gt; <js>"fooBar"</js>
+ * 	<li><js>"fooBarURL"</js> -&gt; <js>"fooBarURL"</js>
+ * 	<li><js>"FooBarURL"</js> -&gt; <js>"fooBarURL"</js>
+ * 	<li><js>"URL"</js> -&gt; <js>"URL"</js>
  * </ul>
  *
  * <p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index e01161a55..973cb82b5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -159,8 +159,6 @@ import org.apache.juneau.utils.*;
 @SuppressWarnings({"unchecked","rawtypes"})
 public class BeanContext extends Context {
 
-	private final String TODO = "ignoreUnknownEnumValues";
-
 	//-----------------------------------------------------------------------------------------------------------------
 	// Static
 	//-----------------------------------------------------------------------------------------------------------------
@@ -229,7 +227,7 @@ public class BeanContext extends Context {
 		boolean disableBeansRequireSomeProperties, beanMapPutReturnsOldValue, beansRequireDefaultConstructor, beansRequireSerializable,
 			beansRequireSettersForGetters, disableIgnoreTransientFields, disableIgnoreUnknownNullBeanProperties, disableIgnoreMissingSetters,
 			disableInterfaceProxies, findFluentSetters, ignoreInvocationExceptionsOnGetters, ignoreInvocationExceptionsOnSetters,
-			ignoreUnknownBeanProperties, sortProperties, useEnumNames, useJavaBeanIntrospector;
+			ignoreUnknownBeanProperties, ignoreUnknownEnumValues, sortProperties, useEnumNames, useJavaBeanIntrospector;
 		String typePropertyName;
 		MediaType mediaType;
 		Locale locale;
@@ -268,6 +266,7 @@ public class BeanContext extends Context {
 			ignoreInvocationExceptionsOnGetters = env("BeanContext.ignoreInvocationExceptionsOnGetters", false);
 			ignoreInvocationExceptionsOnSetters = env("BeanContext.ignoreInvocationExceptionsOnSetters", false);
 			ignoreUnknownBeanProperties = env("BeanContext.ignoreUnknownBeanProperties", false);
+			ignoreUnknownEnumValues = env("BeanContext.ignoreUnknownEnumValues", false);
 			sortProperties = env("BeanContext.sortProperties", false);
 			useEnumNames = env("BeanContext.useEnumNames", false);
 			useJavaBeanIntrospector = env("BeanContext.useJavaBeanIntrospector", false);
@@ -306,6 +305,7 @@ public class BeanContext extends Context {
 			ignoreInvocationExceptionsOnGetters = copyFrom.ignoreInvocationExceptionsOnGetters;
 			ignoreInvocationExceptionsOnSetters = copyFrom.ignoreInvocationExceptionsOnSetters;
 			ignoreUnknownBeanProperties = copyFrom.ignoreUnknownBeanProperties;
+			ignoreUnknownEnumValues = copyFrom.ignoreUnknownEnumValues;
 			sortProperties = copyFrom.sortProperties;
 			useEnumNames = copyFrom.useEnumNames;
 			useJavaBeanIntrospector = copyFrom.useJavaBeanIntrospector;
@@ -344,6 +344,7 @@ public class BeanContext extends Context {
 			ignoreInvocationExceptionsOnGetters = copyFrom.ignoreInvocationExceptionsOnGetters;
 			ignoreInvocationExceptionsOnSetters = copyFrom.ignoreInvocationExceptionsOnSetters;
 			ignoreUnknownBeanProperties = copyFrom.ignoreUnknownBeanProperties;
+			ignoreUnknownEnumValues = copyFrom.ignoreUnknownEnumValues;
 			sortProperties = copyFrom.sortProperties;
 			useEnumNames = copyFrom.useEnumNames;
 			useJavaBeanIntrospector = copyFrom.useJavaBeanIntrospector;
@@ -390,6 +391,7 @@ public class BeanContext extends Context {
 					ignoreInvocationExceptionsOnGetters,
 					ignoreInvocationExceptionsOnSetters,
 					ignoreUnknownBeanProperties,
+					ignoreUnknownEnumValues,
 					sortProperties,
 					useEnumNames,
 					useJavaBeanIntrospector
@@ -1838,6 +1840,7 @@ public class BeanContext extends Context {
 		 * 	<li>A static method with name <c>example</c> with no arguments or one {@link BeanSession} argument.
 		 * </ul>
 		 *
+		 * @param <T> The POJO class.
 		 * @param pojoClass The POJO class.
 		 * @param o
 		 * 	An instance of the POJO class used for examples.
@@ -2246,6 +2249,35 @@ public class BeanContext extends Context {
 			return this;
 		}
 
+		/**
+		 * Ignore unknown properties.
+		 *
+		 * <p>
+		 * When enabled, unknown enum values will be set to <jk>null</jk> instead of throwing an exception.
+		 *
+		 * <ul class='seealso'>
+		 * 	<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreUnknownEnumValues()}
+		 * </ul>
+		 *
+		 * @return This object.
+		 */
+		@FluentSetter
+		public Builder ignoreUnknownEnumValues() {
+			return ignoreUnknownEnumValues(true);
+		}
+
+		/**
+		 * Same as {@link #ignoreUnknownEnumValues()} but allows you to explicitly specify the value.
+		 *
+		 * @param value The value for this setting.
+		 * @return This object.
+		 */
+		@FluentSetter
+		public Builder ignoreUnknownEnumValues(boolean value) {
+			ignoreUnknownEnumValues = value;
+			return this;
+		}
+
 		/**
 		 * Don't ignore unknown properties with null values.
 		 *
@@ -2479,7 +2511,7 @@ public class BeanContext extends Context {
 		 * 	<jc>// Define a POJO swap that skips serializing beans if we're in the UK.</jc>
 		 * 	<jk>public class</jk> MyBeanSwap <jk>extends</jk> StringSwap&lt;MyBean&gt; {
 		 * 		<ja>@Override</ja>
-		 * 		<jk>public</jk> String swap(BeanSession <jv>session</jv>, MyBean <jv>bean/jv>) <jk>throws</jk> Exception {
+		 * 		<jk>public</jk> String swap(BeanSession <jv>session</jv>, MyBean <jv>bean</jv>) <jk>throws</jk> Exception {
 		 * 			<jk>if</jk> (<jv>session</jv>.getLocale().equals(Locale.<jsf>UK</jsf>))
 		 * 				<jk>return null</jk>;
 		 * 			<jk>return</jk> <jv>bean</jv>.toString();
@@ -3041,10 +3073,12 @@ public class BeanContext extends Context {
 		 * 	<jc>// Create a serializer that performs a custom format for DAte objects.</jc>
 		 * 	WriterSerializer <jv>serializer</jv> = JsonSerializer
 		 * 		.<jsm>create</jsm>()
-		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -> <jsm>format</jsm>(<jv>x</jv>))
+		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -&gt; <jsm>format</jsm>(<jv>x</jv>))
 		 * 		.build();
 		 * </p>
 		 *
+		 * @param <T> The object type being swapped out.
+		 * @param <S> The object type being swapped in.
 		 * @param normalClass The object type being swapped out.
 		 * @param swappedClass The object type being swapped in.
 		 * @param swapFunction The function to convert the object.
@@ -3060,13 +3094,15 @@ public class BeanContext extends Context {
 		 *
 		 * <h5 class='section'>Example:</h5>
 		 * <p class='bjava'>
-		 * 	<jc>// Create a serializer that performs a custom format for DAte objects.</jc>
+		 * 	<jc>// Create a serializer that performs a custom format for Date objects.</jc>
 		 * 	WriterSerializer <jv>serializer</jv> = JsonSerializer
 		 * 		.<jsm>create</jsm>()
-		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -> <jsm>format</jsm>(<jv>x</jv>), <jv>x</jv> -> <jsm>parse</jsm>(<jv>x</jv>))
+		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -&gt; <jsm>format</jsm>(<jv>x</jv>), <jv>x</jv> -&gt; <jsm>parse</jsm>(<jv>x</jv>))
 		 * 		.build();
 		 * </p>
 		 *
+		 * @param <T> The object type being swapped out.
+		 * @param <S> The object type being swapped in.
 		 * @param normalClass The object type being swapped out.
 		 * @param swappedClass The object type being swapped in.
 		 * @param swapFunction The function to convert the object during serialization.
@@ -3489,6 +3525,7 @@ public class BeanContext extends Context {
 		useInterfaceProxies,
 		ignoreUnknownBeanProperties,
 		ignoreUnknownNullBeanProperties,
+		ignoreUnknownEnumValues,
 		ignoreMissingSetters,
 		ignoreTransientFields,
 		ignoreInvocationExceptionsOnGetters,
@@ -3549,6 +3586,7 @@ public class BeanContext extends Context {
 		useInterfaceProxies = ! builder.disableInterfaceProxies;
 		ignoreUnknownBeanProperties = builder.ignoreUnknownBeanProperties;
 		ignoreUnknownNullBeanProperties = ! builder.disableIgnoreUnknownNullBeanProperties;
+		ignoreUnknownEnumValues = builder.ignoreUnknownEnumValues;
 		ignoreMissingSetters = ! builder.disableIgnoreMissingSetters;
 		ignoreTransientFields = ! builder.disableIgnoreTransientFields;
 		ignoreInvocationExceptionsOnGetters = builder.ignoreInvocationExceptionsOnGetters;
@@ -3859,6 +3897,8 @@ public class BeanContext extends Context {
 	 * 		A map containing string keys and values of lists containing beans.
 	 * </ul>
 	 *
+	 * @param <T>
+	 * 	The class to resolve.
 	 * @param type
 	 * 	The class to resolve.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType}
@@ -4420,6 +4460,17 @@ public class BeanContext extends Context {
 		return ignoreUnknownBeanProperties;
 	}
 
+	/**
+	 * Ignore unknown enum values.
+	 *
+	 * @see BeanContext.Builder#ignoreUnknownEnumValues()
+	 * @return
+	 * 	<jk>true</jk> if unknown enum values should be set as <jk>null</jk> instead of throwing an exception.
+	 */
+	public final boolean isIgnoreUnknownEnumValues() {
+		return ignoreUnknownEnumValues;
+	}
+
 	/**
 	 * Ignore unknown properties with null values.
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
index d50f72d36..d017b8c11 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextable.java
@@ -1521,6 +1521,7 @@ public abstract class BeanContextable extends Context {
 		 * 	<li>A static method with name <c>example</c> with no arguments or one {@link BeanSession} argument.
 		 * </ul>
 		 *
+		 * @param <T> The POJO class.
 		 * @param pojoClass The POJO class.
 		 * @param o
 		 * 	An instance of the POJO class used for examples.
@@ -1872,6 +1873,25 @@ public abstract class BeanContextable extends Context {
 			return this;
 		}
 
+		/**
+		 * Ignore unknown enum values.
+		 *
+		 * <p>
+		 * When enabled, unknown enum values are set to <jk>null</jk> instead of throwing a parse exception.
+		 *
+		 * <ul class='seealso'>
+		 * 	<li class='ja'>{@link BeanConfig#ignoreUnknownEnumValues()}
+		 * 	<li class='jm'>{@link BeanContext.Builder#ignoreUnknownEnumValues()}
+		 * </ul>
+		 *
+		 * @return This object.
+		 */
+		@FluentSetter
+		public Builder ignoreUnknownEnumValues() {
+			bcBuilder.ignoreUnknownEnumValues();
+			return this;
+		}
+
 		/**
 		 * Don't ignore unknown properties with null values.
 		 *
@@ -2597,10 +2617,12 @@ public abstract class BeanContextable extends Context {
 		 * 	<jc>// Create a serializer that performs a custom format for Date objects.</jc>
 		 * 	WriterSerializer <jv>serializer</jv> = JsonSerializer
 		 * 		.<jsm>create</jsm>()
-		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -> <jsm>format</jsm>(<jv>x</jv>))
+		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -&gt; <jsm>format</jsm>(<jv>x</jv>))
 		 * 		.build();
 		 * </p>
 		 *
+		 * @param <T> The object type being swapped out.
+		 * @param <S> The object type being swapped in.
 		 * @param normalClass The object type being swapped out.
 		 * @param swappedClass The object type being swapped in.
 		 * @param swapFunction The function to convert the object.
@@ -2620,10 +2642,12 @@ public abstract class BeanContextable extends Context {
 		 * 	<jc>// Create a serializer that performs a custom format for Date objects.</jc>
 		 * 	WriterSerializer <jv>serializer</jv> = JsonSerializer
 		 * 		.<jsm>create</jsm>()
-		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -> <jsm>format</jsm>(<jv>x</jv>), <jv>x</jv> -> <jsm>parse</jsm>(<jv>x</jv>))
+		 * 		.swap(Date.<jk>class</jk>, String.<jk>class</jk>, <jv>x</jv> -&gt; <jsm>format</jsm>(<jv>x</jv>), <jv>x</jv> -&gt; <jsm>parse</jsm>(<jv>x</jv>))
 		 * 		.build();
 		 * </p>
 		 *
+		 * @param <T> The object type being swapped out.
+		 * @param <S> The object type being swapped in.
 		 * @param normalClass The object type being swapped out.
 		 * @param swappedClass The object type being swapped in.
 		 * @param swapFunction The function to convert the object during serialization.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
index 5aaa555ef..4cccd7238 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilter.java
@@ -115,7 +115,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean dictionary type name.
+		 * Bean dictionary type name.
 		 *
 		 * <p>
 		 * Specifies the dictionary type name for this bean.
@@ -218,7 +218,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean stop class.
+		 * Bean stop class.
 		 *
 		 * <p>
 		 * Identifies a stop class for this class and all subclasses.
@@ -275,7 +275,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Sort bean properties.
+		 * Sort bean properties.
 		 *
 		 * <p>
 		 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
@@ -316,7 +316,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Sort bean properties.
+		 * Sort bean properties.
 		 *
 		 * <p>
 		 * Shortcut for calling <code>sortProperties(<jk>true</jk>)</code>.
@@ -334,7 +334,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Find fluent setters.
+		 * Find fluent setters.
 		 *
 		 * <p>
 		 * When enabled, fluent setters are detected on beans.
@@ -371,7 +371,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean property namer
+		 * Bean property namer
 		 *
 		 * <p>
 		 * The class to use for calculating bean property names.
@@ -414,7 +414,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean property includes.
+		 * Bean property includes.
 		 *
 		 * <p>
 		 * Specifies the set and order of names of properties associated with the bean class.
@@ -458,7 +458,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean property excludes.
+		 * Bean property excludes.
 		 *
 		 * <p>
 		 * Specifies properties to exclude from the bean class.
@@ -502,7 +502,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Read-only bean properties.
+		 * Read-only bean properties.
 		 *
 		 * <p>
 		 * Specifies one or more properties on a bean that are read-only despite having valid getters.
@@ -548,7 +548,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Write-only bean properties.
+		 * Write-only bean properties.
 		 *
 		 * <p>
 		 * Specifies one or more properties on a bean that are write-only despite having valid setters.
@@ -594,7 +594,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean dictionary.
+		 * Bean dictionary.
 		 *
 		 * <p>
 		 * Adds to the list of classes that make up the bean dictionary for this bean.
@@ -649,7 +649,7 @@ public final class BeanFilter {
 		}
 
 		/**
-		 * Configuration property:  Bean interceptor.
+		 * Bean interceptor.
 		 *
 		 * <p>
 		 * The interceptor to use for intercepting and altering getter and setter calls.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
index c01f2e9ca..9f3af682a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
@@ -827,6 +827,7 @@ public class BeanMeta<T> {
 	/**
 	 * Performs a function on the first property that matches the specified filter.
 	 *
+	 * @param <T2> The type to convert the property to.
 	 * @param filter The filter to apply.
 	 * @param function The function to apply to the matching property.
 	 * @return The result of the function.  Never <jk>null</jk>.
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 3ec774a6c..14ab0c761 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
@@ -789,11 +789,7 @@ public class BeanSession extends ContextSession {
 			}
 
 			if (to.isEnum()) {
-				if (to.canCreateNewInstanceFromString(outer))
-					return to.newInstanceFromString(outer, value.toString());
-				if (isNullOrEmpty(value))
-					return null;
-				return (T)Enum.valueOf((Class<? extends Enum>)tc, value.toString());
+				return to.newInstanceFromString(outer, value.toString());
 			}
 
 			if (to.isString()) {
@@ -1231,6 +1227,8 @@ public class BeanSession extends ContextSession {
 	 * 		A map containing string keys and values of lists containing beans.
 	 * </ul>
 	 *
+	 * @param <T>
+	 * 	The class to resolve.
 	 * @param type
 	 * 	The class to resolve.
 	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType}
@@ -1286,7 +1284,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Locale.
+	 * Locale.
 	 *
 	 * <p>
 	 * The locale is determined in the following order:
@@ -1304,7 +1302,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Media type.
+	 * Media type.
 	 *
 	 * <p>
 	 * For example, <js>"application/json"</js>.
@@ -1428,7 +1426,7 @@ public class BeanSession extends ContextSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Minimum bean class visibility.
+	 * Minimum bean class visibility.
 	 *
 	 * @see BeanContext.Builder#beanClassVisibility(Visibility)
 	 * @return
@@ -1439,7 +1437,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Minimum bean constructor visibility.
+	 * Minimum bean constructor visibility.
 	 *
 	 * @see BeanContext.Builder#beanConstructorVisibility(Visibility)
 	 * @return
@@ -1450,7 +1448,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean dictionary.
+	 * Bean dictionary.
 	 *
 	 * @see BeanContext.Builder#beanDictionary(Class...)
 	 * @return
@@ -1461,7 +1459,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Minimum bean field visibility.
+	 * Minimum bean field visibility.
 	 *
 	 *
 	 * @see BeanContext.Builder#beanFieldVisibility(Visibility)
@@ -1473,7 +1471,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  BeanMap.put() returns old property value.
+	 * BeanMap.put() returns old property value.
 	 *
 	 * @see BeanContext.Builder#beanMapPutReturnsOldValue()
 	 * @return
@@ -1485,7 +1483,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Minimum bean method visibility.
+	 * Minimum bean method visibility.
 	 *
 	 * @see BeanContext.Builder#beanMethodVisibility(Visibility)
 	 * @return
@@ -1496,7 +1494,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Beans require no-arg constructors.
+	 * Beans require no-arg constructors.
 	 *
 	 * @see BeanContext.Builder#beansRequireDefaultConstructor()
 	 * @return
@@ -1508,7 +1506,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Beans require Serializable interface.
+	 * Beans require Serializable interface.
 	 *
 	 * @see BeanContext.Builder#beansRequireSerializable()
 	 * @return
@@ -1520,7 +1518,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Beans require setters for getters.
+	 * Beans require setters for getters.
 	 *
 	 * @see BeanContext.Builder#beansRequireSettersForGetters()
 	 * @return
@@ -1532,7 +1530,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Beans require at least one property.
+	 * Beans require at least one property.
 	 *
 	 * @see BeanContext.Builder#disableBeansRequireSomeProperties()
 	 * @return
@@ -1544,7 +1542,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean type property name.
+	 * Bean type property name.
 	 *
 	 * @see BeanContext.Builder#typePropertyName(String)
 	 * @return
@@ -1555,7 +1553,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Find fluent setters.
+	 * Find fluent setters.
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
@@ -1569,7 +1567,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore invocation errors on getters.
+	 * Ignore invocation errors on getters.
 	 *
 	 * @see BeanContext.Builder#ignoreInvocationExceptionsOnGetters()
 	 * @return
@@ -1580,7 +1578,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore invocation errors on setters.
+	 * Ignore invocation errors on setters.
 	 *
 	 * @see BeanContext.Builder#ignoreInvocationExceptionsOnSetters()
 	 * @return
@@ -1591,7 +1589,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Silently ignore missing setters.
+	 * Silently ignore missing setters.
 	 *
 	 * @see BeanContext.Builder#disableIgnoreMissingSetters()
 	 * @return
@@ -1602,7 +1600,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore unknown properties.
+	 * Ignore unknown properties.
 	 *
 	 * @see BeanContext.Builder#ignoreUnknownBeanProperties()
 	 * @return
@@ -1614,7 +1612,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore unknown properties with null values.
+	 * Ignore unknown properties with null values.
 	 *
 	 * @see BeanContext.Builder#disableIgnoreUnknownNullBeanProperties()
 	 * @return
@@ -1625,7 +1623,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean class exclusions.
+	 * Bean class exclusions.
 	 *
 	 * @see BeanContext.Builder#notBeanClasses(Class...)
 	 * @return
@@ -1636,7 +1634,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean package exclusions.
+	 * Bean package exclusions.
 	 *
 	 * @see BeanContext.Builder#notBeanPackages(String...)
 	 * @return
@@ -1647,7 +1645,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean package exclusions.
+	 * Bean package exclusions.
 	 *
 	 * @see BeanContext.Builder#notBeanPackages(String...)
 	 * @return
@@ -1658,7 +1656,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Bean property namer.
+	 * Bean property namer.
 	 *
 	 * @see BeanContext.Builder#propertyNamer(Class)
 	 * @return
@@ -1669,7 +1667,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Sort bean properties.
+	 * Sort bean properties.
 	 *
 	 * @see BeanContext.Builder#sortProperties()
 	 * @return
@@ -1680,7 +1678,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Java object swaps.
+	 * Java object swaps.
 	 *
 	 * @see BeanContext.Builder#swaps(Class...)
 	 * @return
@@ -1691,7 +1689,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Time zone.
+	 * Time zone.
 	 *
 	 * <p>
 	 * The timezone is determined in the following order:
@@ -1708,7 +1706,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Time zone.
+	 * Time zone.
 	 *
 	 * <p>
 	 * The timezone is determined in the following order:
@@ -1725,7 +1723,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Use enum names.
+	 * Use enum names.
 	 *
 	 * @see BeanContext.Builder#useEnumNames()
 	 * @return
@@ -1736,7 +1734,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Use interface proxies.
+	 * Use interface proxies.
 	 *
 	 * @see BeanContext.Builder#disableInterfaceProxies()
 	 * @return
@@ -1748,7 +1746,7 @@ public class BeanSession extends ContextSession {
 	}
 
 	/**
-	 * Configuration property:  Use Java Introspector.
+	 * Use Java Introspector.
 	 *
 	 * @see BeanContext.Builder#useJavaBeanIntrospector()
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
index 303f73ba3..bd651935f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseContext.java
@@ -170,7 +170,7 @@ public abstract class BeanTraverseContext extends BeanContextable {
 		 * When enabled, when we encounter the same object when traversing a tree, we set the value to <jk>null</jk>.
 		 *
 		 * <p>
-		 * For example, if a model contains the links A->B->C->A, then the JSON generated will look like
+		 * For example, if a model contains the links A-&gt;B-&gt;C-&gt;A, then the JSON generated will look like
 		 * 	the following when this setting is <jk>true</jk>...
 		 *
 		 * <p class='bjson'>
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 6b183317d..bf040ecde 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
@@ -396,7 +396,7 @@ public class BeanTraverseSession extends BeanSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Automatically detect POJO recursions.
+	 * Automatically detect POJO recursions.
 	 *
 	 * @see BeanTraverseContext.Builder#detectRecursions()
 	 * @return
@@ -407,7 +407,7 @@ public class BeanTraverseSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore recursion errors.
+	 * Ignore recursion errors.
 	 *
 	 * @see BeanTraverseContext.Builder#ignoreRecursions()
 	 * @return
@@ -419,7 +419,7 @@ public class BeanTraverseSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Initial depth.
+	 * Initial depth.
 	 *
 	 * @see BeanTraverseContext.Builder#initialDepth(int)
 	 * @return
@@ -430,7 +430,7 @@ public class BeanTraverseSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Max traversal depth.
+	 * Max traversal depth.
 	 *
 	 * @see BeanTraverseContext.Builder#maxDepth(int)
 	 * @return
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 2b582b111..0103d9ebf 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
@@ -17,6 +17,7 @@ import static org.apache.juneau.internal.ThrowableUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.ConsumerUtils.*;
 import static org.apache.juneau.internal.ObjectUtils.*;
+import static java.util.Arrays.*;
 
 import java.io.*;
 import java.lang.annotation.*;
@@ -120,6 +121,7 @@ public final class ClassMeta<T> implements Type {
 	private final Map<Class<?>,Annotation[]> annotationArrayMap = new ConcurrentHashMap<>();
 	private final Map<Class<?>,Optional<?>> annotationLastMap = new ConcurrentHashMap<>();
 	private final Map<String,Optional<?>> properties = new ConcurrentHashMap<>();
+	private final BiMap<Object,String> enumValues;
 
 	private final SimpleReadWriteLock lock = new SimpleReadWriteLock(false);
 
@@ -188,6 +190,7 @@ public final class ClassMeta<T> implements Type {
 			this.example = builder.example;
 			this.args = null;
 			this.stringMutater = builder.stringMutater;
+			this.enumValues = builder.enumValues == null ? null : builder.enumValues.build();
 		} catch (ClassMetaRuntimeException e) {
 			notABeanReason = e.getMessage();
 			throw e;
@@ -258,6 +261,7 @@ public final class ClassMeta<T> implements Type {
 		this.example = mainType.example;
 		this.args = null;
 		this.stringMutater = mainType.stringMutater;
+		this.enumValues = mainType.enumValues;
 	}
 
 	/**
@@ -300,6 +304,7 @@ public final class ClassMeta<T> implements Type {
 		this.exampleField = null;
 		this.example = null;
 		this.stringMutater = null;
+		this.enumValues = null;
 	}
 
 	@SuppressWarnings({"unchecked","rawtypes","hiding"})
@@ -346,6 +351,7 @@ public final class ClassMeta<T> implements Type {
 		Field exampleField;
 		String example;
 		Mutater<String,T> stringMutater;
+		BiMap.Builder<Object,String> enumValues;
 
 		ClassMetaBuilder(Class<T> innerClass, BeanContext beanContext, ObjectSwap<T,?>[] swaps, ObjectSwap<?,?>[] childSwaps) {
 			this.innerClass = innerClass;
@@ -675,6 +681,14 @@ public final class ClassMeta<T> implements Type {
 			}
 
 			this.stringMutater = Mutaters.get(String.class, c);
+
+			if (cc == ENUM) {
+				Class<? extends Enum> ec = (Class<? extends Enum<?>>)c;
+				boolean useEnumNames = bc != null && bc.isUseEnumNames();
+				enumValues = BiMap.create();
+				enumValues.unmodifiable();
+				stream(ec.getEnumConstants()).forEach(x -> enumValues.add(x, useEnumNames ? x.name() : x.toString()));
+			}
 		}
 
 		private BeanFilter findBeanFilter(BeanContext bc) {
@@ -905,6 +919,7 @@ public final class ClassMeta<T> implements Type {
 	 * If class is abstract, always returns <jk>null</jk>.
 	 * Note that this also returns the 1-arg constructor for non-static member classes.
 	 *
+	 * @param <T> The class from which to locate the no-arg constructor.
 	 * @param c The class from which to locate the no-arg constructor.
 	 * @param v The minimum visibility.
 	 * @return The constructor, or <jk>null</jk> if no no-arg constructor exists with the required visibility.
@@ -1728,11 +1743,15 @@ public final class ClassMeta<T> implements Type {
 	 * @return A new instance of the object, or <jk>null</jk> if there is no string constructor on the object.
 	 * @throws ExecutableException Exception occurred on invoked constructor/method/field.
 	 */
-	@SuppressWarnings({ "unchecked", "rawtypes" })
+	@SuppressWarnings({ "unchecked" })
 	public T newInstanceFromString(Object outer, String arg) throws ExecutableException {
 
-		if (isEnum() && beanContext.isUseEnumNames())
-			return (T)Enum.valueOf((Class<? extends Enum>)this.innerClass, arg);
+		if (isEnum()) {
+			T t = (T)enumValues.getKey(arg);
+			if (t == null && ! beanContext.isIgnoreUnknownEnumValues())
+				throw new ExecutableException("Could not resolve enum value '"+arg+"' on class '"+getInnerClass().getName()+"'");
+			return t;
+		}
 
 		Method m = fromStringMethod;
 		if (m != null) {
@@ -1748,7 +1767,7 @@ public final class ClassMeta<T> implements Type {
 				return c.<T>invoke(outer, arg);
 			return c.<T>invoke(arg);
 		}
-		throw new InstantiationError("No string constructor or valueOf(String) method found for class '"+getInnerClass().getName()+"'");
+		throw new ExecutableException("No string constructor or valueOf(String) method found for class '"+getInnerClass().getName()+"'");
 	}
 
 	/**
@@ -1990,6 +2009,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Transforms the specified object into an instance of this class.
 	 *
+	 * @param <O> The transform-to class.
 	 * @param o The object to transform.
 	 * @param c The class
 	 * @return The transformed object.
@@ -2003,6 +2023,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Transforms the specified object into an instance of this class.
 	 *
+	 * @param <O> The transform-to class.
 	 * @param o The object to transform.
 	 * @param c The class
 	 * @return The transformed object.
@@ -2014,6 +2035,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Returns the transform for this class for creating instances from other object types.
 	 *
+	 * @param <I> The transform-from class.
 	 * @param c The transform-from class.
 	 * @return The transform, or <jk>null</jk> if no such transform exists.
 	 */
@@ -2034,6 +2056,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Returns the transform for this class for creating instances from other object types.
 	 *
+	 * @param <O> The transform-to class.
 	 * @param c The transform-from class.
 	 * @return The transform, or <jk>null</jk> if no such transform exists.
 	 */
@@ -2064,6 +2087,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Shortcut for calling <c>getInnerClass().getAnnotation(a)</c>.
 	 *
+	 * @param <A> The annotation type to look for.
 	 * @param a The annotation to retrieve.
 	 * @return The specified annotation, or <jk>null</jk> if the class does not have the specified annotation.
 	 */
@@ -2082,6 +2106,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Performs an action on all matching annotations of the specified type defined on this class or parent classes/interfaces in parent-to-child order.
 	 *
+	 * @param <A> The annotation type to look for.
 	 * @param type The annotation to search for.
 	 * @param filter A predicate to apply to the entries to determine if action should be performed.  Can be <jk>null</jk>.
 	 * @param action An action to perform on the entry.
@@ -2102,6 +2127,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Returns the first matching annotation on this class or parent classes/interfaces in parent-to-child order.
 	 *
+	 * @param <A> The annotation type to look for.
 	 * @param type The annotation to search for.
 	 * @param filter A predicate to apply to the entries to determine if annotation should be used.  Can be <jk>null</jk>.
 	 * @return This object.
@@ -2122,6 +2148,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Returns the last matching annotation on this class or parent classes/interfaces in parent-to-child order.
 	 *
+	 * @param <A> The annotation type to look for.
 	 * @param type The annotation to search for.
 	 * @param filter A predicate to apply to the entries to determine if annotation should be used.  Can be <jk>null</jk>.
 	 * @return This object.
@@ -2156,6 +2183,7 @@ public final class ClassMeta<T> implements Type {
 	/**
 	 * Returns a calculated property on this context.
 	 *
+	 * @param <T2> The type to convert the property to.
 	 * @param name The name of the property.
 	 * @param function The function used to create this property.
 	 * @return The property value.  Never <jk>null</jk>.
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 2c019f45f..2043dd3e8 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
@@ -253,6 +253,7 @@ public abstract class Context implements AnnotationProvider {
 		/**
 		 * Convenience method for calling {@link #build()} while avoiding a cast.
 		 *
+		 * @param <T> The type to cast the built object to.
 		 * @param c The type to cast the built object to.
 		 * @return The built context bean.
 		 */
@@ -266,6 +267,7 @@ public abstract class Context implements AnnotationProvider {
 		/**
 		 * Apply a consumer to this builder.
 		 *
+		 * @param <T> The builder subtype that this consumer can be applied to.
 		 * @param subtype The builder subtype that this consumer can be applied to.
 		 * @param consumer The consumer.
 		 * @return This object.
@@ -776,6 +778,7 @@ public abstract class Context implements AnnotationProvider {
 		 * First looks in system properties.  Then converts the name to env-safe and looks in the system environment.
 		 * Then returns the default if it can't be found.
 		 *
+		 * @param <T> The type to convert to.
 		 * @param name The property name.
 		 * @param def The default value if not found.
 		 * @return The default value.
@@ -1065,6 +1068,7 @@ public abstract class Context implements AnnotationProvider {
 	/**
 	 * Returns <jk>true</jk> if <c>getAnnotation(a,c)</c> returns a non-null value.
 	 *
+	 * @param <A> The annotation being checked for.
 	 * @param type The annotation being checked for.
 	 * @param onClass The class being checked on.
 	 * @return <jk>true</jk> if the annotation exists on the specified class.
@@ -1076,6 +1080,7 @@ public abstract class Context implements AnnotationProvider {
 	/**
 	 * Returns <jk>true</jk> if <c>getAnnotation(a,m)</c> returns a non-null value.
 	 *
+	 * @param <A> The annotation being checked for.
 	 * @param type The annotation being checked for.
 	 * @param onMethod The method being checked on.
 	 * @return <jk>true</jk> if the annotation exists on the specified method.
@@ -1087,6 +1092,7 @@ public abstract class Context implements AnnotationProvider {
 	/**
 	 * Returns <jk>true</jk> if <c>getAnnotation(a,f)</c> returns a non-null value.
 	 *
+	 * @param <A> The annotation being checked for.
 	 * @param type The annotation being checked for.
 	 * @param onField The field being checked on.
 	 * @return <jk>true</jk> if the annotation exists on the specified field.
@@ -1098,6 +1104,7 @@ public abstract class Context implements AnnotationProvider {
 	/**
 	 * Returns <jk>true</jk> if <c>getAnnotation(a,c)</c> returns a non-null value.
 	 *
+	 * @param <A> The annotation being checked for.
 	 * @param type The annotation being checked for.
 	 * @param onConstructor The constructor being checked on.
 	 * @return <jk>true</jk> if the annotation exists on the specified field.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
index 2f07d77cc..4e433a288 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextSession.java
@@ -149,6 +149,7 @@ public abstract class ContextSession {
 		/**
 		 * Applies a consumer to this builder if it's the specified type.
 		 *
+		 * @param <T> The expected type.
 		 * @param type The expected type.
 		 * @param apply	The consumer to apply.
 		 * @return This object.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDLC.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDLC.java
index 62cb4bae0..601b9c6f1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDLC.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDLC.java
@@ -20,9 +20,9 @@ import static org.apache.juneau.internal.StringUtils.*;
  *
  * <h5 class='section'>Example:</h5>
  * <ul>
- * 	<li><js>"fooBar"</js> -> <js>"foo-bar"</js>
- * 	<li><js>"fooBarURL"</js> -> <js>"foo-bar-url"</js>
- * 	<li><js>"FooBarURL"</js> -> <js>"foo-bar-url"</js>
+ * 	<li><js>"fooBar"</js> -&gt; <js>"foo-bar"</js>
+ * 	<li><js>"fooBarURL"</js> -&gt; <js>"foo-bar-url"</js>
+ * 	<li><js>"FooBarURL"</js> -&gt; <js>"foo-bar-url"</js>
  * </ul>
  *
  * <ul class='seealso'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
index 09af6944d..ce1e8f4a5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerDUCS.java
@@ -20,9 +20,9 @@ import static org.apache.juneau.internal.StringUtils.*;
  *
  * <h5 class='section'>Example:</h5>
  * <ul>
- * 	<li><js>"fooBar"</js> -> <js>"Foo-Bar"</js>
- * 	<li><js>"fooBarURL"</js> -> <js>"Foo-Bar-Url"</js>
- * 	<li><js>"FooBarURL"</js> -> <js>"Foo-Bar-Url"</js>
+ * 	<li><js>"fooBar"</js> -&gt; <js>"Foo-Bar"</js>
+ * 	<li><js>"fooBarURL"</js> -&gt; <js>"Foo-Bar-Url"</js>
+ * 	<li><js>"FooBarURL"</js> -&gt; <js>"Foo-Bar-Url"</js>
  * </ul>
  *
  * <ul class='seealso'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerULC.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerULC.java
index d329ec714..24d43845e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerULC.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/PropertyNamerULC.java
@@ -20,9 +20,9 @@ import static org.apache.juneau.internal.StringUtils.*;
  *
  * <h5 class='section'>Example:</h5>
  * <ul>
- * 	<li><js>"fooBar"</js> -> <js>"foo_bar"</js>
- * 	<li><js>"fooBarURL"</js> -> <js>"foo_bar_url"</js>
- * 	<li><js>"FooBarURL"</js> -> <js>"foo_bar_url"</js>
+ * 	<li><js>"fooBar"</js> -&gt; <js>"foo_bar"</js>
+ * 	<li><js>"fooBarURL"</js> -&gt; <js>"foo_bar_url"</js>
+ * 	<li><js>"FooBarURL"</js> -&gt; <js>"foo_bar_url"</js>
  * </ul>
  *
  * <ul class='seealso'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Value.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Value.java
index 6eb67da23..296e5aad1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Value.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Value.java
@@ -43,6 +43,7 @@ public class Value<T> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @param object The object being wrapped.
 	 * @return A new {@link Value} object.
 	 */
@@ -53,6 +54,7 @@ public class Value<T> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @return An empty {@link Value} object.
 	 */
 	public static <T> Value<T> empty() {
@@ -206,6 +208,7 @@ public class Value<T> {
 	/**
 	 * Applies a mapping function against the contents of this value.
 	 *
+	 * @param <T2> The mapped value type.
 	 * @param mapper The mapping function.
 	 * @return The mapped value.
 	 */
@@ -251,6 +254,7 @@ public class Value<T> {
 	 * Return the contained value, if present, otherwise throw an exception
 	 * to be created by the provided supplier.
 	 *
+	 * @param <X> The exception type.
 	 * @param exceptionSupplier The supplier which will return the exception to
 	 * be thrown
 	 * @return the present value
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
index 1a1b5ad4a..fd51c07cf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
@@ -112,6 +112,7 @@ public enum Visibility {
 	 * <p>
 	 * Security exceptions thrown on the call to {@link Constructor#setAccessible(boolean)} are quietly ignored.
 	 *
+	 * @param <T> The class type.
 	 * @param x The constructor.
 	 * @return
 	 * 	The same constructor if visibility requirements met, or <jk>null</jk> if visibility requirement not
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/AnnotationGroup.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/AnnotationGroup.java
index 782c759a2..c093d869d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/AnnotationGroup.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/AnnotationGroup.java
@@ -32,6 +32,8 @@ public @interface AnnotationGroup {
 
 	/**
 	 * The annotation group.
+	 *
+	 * @return The annotation value.
 	 */
 	public Class<? extends Annotation> value();
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index be6f78942..6d532b261 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -58,6 +58,8 @@ public @interface Bean {
 	 * 	<li class='ja'>{@link BeanConfig#dictionary_replace()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanDictionary(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] dictionary() default {};
 
@@ -96,6 +98,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='ja'>{@link Example}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String example() default "";
 
@@ -122,6 +126,8 @@ public @interface Bean {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesExcludes(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesExcludes(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String excludeProperties() default "";
 
@@ -153,6 +159,8 @@ public @interface Bean {
 	 * 	<li class='ja'>{@link BeanConfig#findFluentSetters()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#findFluentSetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean findFluentSetters() default false;
 
@@ -169,6 +177,8 @@ public @interface Bean {
 	 * 	<ja>@Bean</ja>(implClass=MyInterfaceImpl.<jk>class</jk>)
 	 * 	<jk>public class</jk> MyInterface {...}
 	 * <p>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> implClass() default void.class;
 
@@ -181,6 +191,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='jc'>{@link BeanInterceptor}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends BeanInterceptor<?>> interceptor() default BeanInterceptor.Void.class;
 
@@ -210,6 +222,8 @@ public @interface Bean {
 	 * <p>
 	 * Note that this annotation can be used on the parent class so that it filters to all child classes,
 	 * or can be set individually on the child classes.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> interfaceClass() default void.class;
 
@@ -249,6 +263,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -261,11 +277,15 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
 	/**
 	 * Synonym for {@link #properties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String p() default "";
 
@@ -304,6 +324,8 @@ public @interface Bean {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanProperties(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanProperties(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String properties() default "";
 
@@ -323,6 +345,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#propertyNamer(Class)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends PropertyNamer> propertyNamer() default PropertyNamer.Void.class;
 
@@ -350,11 +374,15 @@ public @interface Bean {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesReadOnly(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesReadOnly(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String readOnlyProperties() default "";
 
 	/**
 	 * Synonym for {@link #readOnlyProperties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String ro() default "";
 
@@ -375,6 +403,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#sortProperties()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean sort() default false;
 
@@ -402,6 +432,8 @@ public @interface Bean {
 	 * 		<jk>public int</jk> getP3();
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> stopClass() default void.class;
 
@@ -426,6 +458,8 @@ public @interface Bean {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanDictionary(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String typeName() default "";
 
@@ -449,11 +483,15 @@ public @interface Bean {
 	 * 	<li class='ja'>{@link BeanConfig#typePropertyName()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#typePropertyName(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String typePropertyName() default "";
 
 	/**
 	 * Synonym for {@link #writeOnlyProperties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String wo() default "";
 
@@ -481,11 +519,15 @@ public @interface Bean {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesWriteOnly(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesWriteOnly(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String writeOnlyProperties() default "";
 
 	/**
 	 * Synonym for {@link #excludeProperties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String xp() default "";
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
index 32eef78f9..479b716be 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
@@ -545,6 +545,8 @@ public class BeanAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Bean[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
index 9223bdde7..3963bd4a0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
@@ -46,6 +46,8 @@ public @interface BeanConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -54,7 +56,7 @@ public @interface BeanConfig {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Minimum bean class visibility.
+	 * Minimum bean class visibility.
 	 *
 	 * <p>
 	 * Classes are not considered beans unless they meet the minimum visibility requirements.
@@ -80,11 +82,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanClassVisibility(Visibility)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beanClassVisibility() default "";
 
 	/**
-	 * Configuration property:  Minimum bean constructor visibility.
+	 * Minimum bean constructor visibility.
 	 *
 	 * <p>
 	 * Only look for constructors with the specified minimum visibility.
@@ -110,11 +114,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanConstructorVisibility(Visibility)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beanConstructorVisibility() default "";
 
 	/**
-	 * Configuration property:  Minimum bean field visibility.
+	 * Minimum bean field visibility.
 	 *
 	 * <p>
 	 * Only look for bean fields with the specified minimum visibility.
@@ -140,11 +146,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanFieldVisibility(Visibility)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beanFieldVisibility() default "";
 
 	/**
-	 * Configuration property:  BeanMap.put() returns old property value.
+	 * BeanMap.put() returns old property value.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, then the {@link BeanMap#put(String,Object) BeanMap.put()} method will return old property
@@ -165,11 +173,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanMapPutReturnsOldValue()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beanMapPutReturnsOldValue() default "";
 
 	/**
-	 * Configuration property:  Minimum bean method visibility.
+	 * Minimum bean method visibility.
 	 *
 	 * <p>
 	 * Only look for bean methods with the specified minimum visibility.
@@ -195,11 +205,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanMethodVisibility(Visibility)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beanMethodVisibility() default "";
 
 	/**
-	 * Configuration property:  Beans require no-arg constructors.
+	 * Beans require no-arg constructors.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, a Java class must implement a default no-arg constructor to be considered a bean.
@@ -221,11 +233,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beansRequireDefaultConstructor()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beansRequireDefaultConstructor() default "";
 
 	/**
-	 * Configuration property:  Beans require Serializable interface.
+	 * Beans require Serializable interface.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, a Java class must implement the {@link Serializable} interface to be considered a bean.
@@ -247,11 +261,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beansRequireSerializable()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beansRequireSerializable() default "";
 
 	/**
-	 * Configuration property:  Beans require setters for getters.
+	 * Beans require setters for getters.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, only getters that have equivalent setters will be considered as properties on a bean.
@@ -271,11 +287,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beansRequireSettersForGetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String beansRequireSettersForGetters() default "";
 
 	/**
-	 * Configuration property:  Beans don't require at least one property.
+	 * Beans don't require at least one property.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, then a Java class doesn't need to contain at least 1 property to be considered a bean.
@@ -295,11 +313,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#disableBeansRequireSomeProperties()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableBeansRequireSomeProperties() default "";
 
 	/**
-	 * Configuration property:  Bean type property name.
+	 * Bean type property name.
 	 *
 	 * <p>
 	 * This specifies the name of the bean property used to store the dictionary name of a bean type so that the
@@ -316,11 +336,13 @@ public @interface BeanConfig {
 	 * 	<li class='ja'>{@link Bean#typePropertyName()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#typePropertyName(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String typePropertyName() default "";
 
 	/**
-	 * Configuration property:  Debug mode.
+	 * Debug mode.
 	 *
 	 * <p>
 	 * Enables the following additional information during serialization:
@@ -354,11 +376,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.Context.Builder#debug()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String debug() default "";
 
 	/**
-	 * Configuration property:  Bean dictionary.
+	 * Bean dictionary.
 	 *
 	 * <p>
 	 * The list of classes that make up the bean dictionary in this bean context.
@@ -380,11 +404,13 @@ public @interface BeanConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanDictionary(Class...)}
 	 * 	<li class='link'>{@doc jm.BeanDictionaries}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] dictionary() default {};
 
 	/**
-	 * Configuration property:  Replace bean dictionary.
+	 * Replace bean dictionary.
 	 *
 	 * <p>
 	 * Same as {@link #dictionary()} but replaces any existing value.
@@ -395,11 +421,13 @@ public @interface BeanConfig {
 	 * 	<li class='ja'>{@link BeanConfig#dictionary()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanDictionary(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] dictionary_replace() default {};
 
 	/**
-	 * Configuration property:  Find fluent setters.
+	 * Find fluent setters.
 	 *
 	 * <p>
 	 * When enabled, fluent setters are detected on beans.
@@ -428,11 +456,13 @@ public @interface BeanConfig {
 	 * 	<li class='ja'>{@link Bean#findFluentSetters()}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#findFluentSetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String findFluentSetters() default "";
 
 	/**
-	 * Configuration property:  Ignore invocation errors on getters.
+	 * Ignore invocation errors on getters.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, errors thrown when calling bean getter methods will silently be ignored.
@@ -452,11 +482,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#ignoreInvocationExceptionsOnGetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ignoreInvocationExceptionsOnGetters() default "";
 
 	/**
-	 * Configuration property:  Ignore invocation errors on setters.
+	 * Ignore invocation errors on setters.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, errors thrown when calling bean setter methods will silently be ignored.
@@ -476,11 +508,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#ignoreInvocationExceptionsOnSetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ignoreInvocationExceptionsOnSetters() default "";
 
 	/**
-	 * Configuration property:  Don't silently ignore missing setters.
+	 * Don't silently ignore missing setters.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, trying to set a value on a bean property without a setter will throw a {@code BeanRuntimeException}.
@@ -500,11 +534,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#disableIgnoreMissingSetters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableIgnoreMissingSetters() default "";
 
 	/**
-	 * Configuration property:  Don't ignore transient fields.
+	 * Don't ignore transient fields.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, methods and fields marked as <jk>transient</jk> will not be ignored as bean properties.
@@ -523,11 +559,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#disableIgnoreTransientFields()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableIgnoreTransientFields() default "";
 
 	/**
-	 * Configuration property:  Ignore unknown properties.
+	 * Ignore unknown properties.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, trying to set a value on a non-existent bean property will silently be ignored.
@@ -547,11 +585,38 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#ignoreUnknownBeanProperties()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ignoreUnknownBeanProperties() default "";
 
 	/**
-	 * Configuration property:  Don't ignore unknown properties with null values.
+	 * Ignore unknown enum values.
+	 *
+	 * <p>
+	 * If <js>"true"</js>, unknown enum values are set to <jk>null</jk> instead of throwing an exception.
+	 *
+	 * <ul class='notes'>
+	 * 	<li>
+	 * 		Possible values:
+	 * 		<ul>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
+	 * 		</ul>
+	 * 	<li>
+	 * 		Supports {@doc jm.DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
+	 * </ul>
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#ignoreUnknownEnumValues()}
+	 * </ul>
+	 *
+	 * @return The annotation value.
+	 */
+	String ignoreUnknownEnumValues() default "";
+
+	/**
+	 * Don't ignore unknown properties with null values.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, trying to set a <jk>null</jk> value on a non-existent bean property will throw a {@code BeanRuntimeException}.
@@ -571,6 +636,8 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#disableIgnoreUnknownNullBeanProperties()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableIgnoreUnknownNullBeanProperties() default "";
 
@@ -607,11 +674,13 @@ public @interface BeanConfig {
 	 * <ul class='notes'>
 	 * 	<li>The {@link Bean#interfaceClass() @Bean(interfaceClass)} annotation is the equivalent annotation-based solution.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] interfaces() default {};
 
 	/**
-	 * Configuration property:  Locale.
+	 * Locale.
 	 *
 	 * <p>
 	 * Specifies the default locale for serializer and parser sessions.
@@ -625,11 +694,13 @@ public @interface BeanConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanSession.Builder#locale(Locale)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#locale(Locale)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String locale() default "";
 
 	/**
-	 * Configuration property:  Media type.
+	 * Media type.
 	 *
 	 * <p>
 	 * Specifies the default media type value for serializer and parser sessions.
@@ -643,11 +714,13 @@ public @interface BeanConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanSession.Builder#mediaType(MediaType)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#mediaType(MediaType)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String mediaType() default "";
 
 	/**
-	 * Configuration property:  Bean class exclusions.
+	 * Bean class exclusions.
 	 *
 	 * <p>
 	 * List of classes that should not be treated as beans even if they appear to be bean-like.
@@ -662,11 +735,13 @@ public @interface BeanConfig {
 	 * 	<li class='ja'>{@link BeanIgnore}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#notBeanClasses(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] notBeanClasses() default {};
 
 	/**
-	 * Configuration property:  Replace classes that should not be considered beans.
+	 * Replace classes that should not be considered beans.
 	 *
 	 * <p>
 	 * Same as {@link #notBeanClasses()} but replaces any existing value.
@@ -674,11 +749,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#notBeanClasses(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] notBeanClasses_replace() default {};
 
 	/**
-	 * Configuration property:  Bean package exclusions.
+	 * Bean package exclusions.
 	 *
 	 * <p>
 	 * When specified, the current list of ignore packages are appended to.
@@ -709,11 +786,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#notBeanPackages(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] notBeanPackages() default {};
 
 	/**
-	 * Configuration property:  Replace packages whose classes should not be considered beans.
+	 * Replace packages whose classes should not be considered beans.
 	 *
 	 * <p>
 	 * Same as {@link #notBeanPackages()} but replaces any existing value.
@@ -721,11 +800,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#notBeanPackages(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] notBeanPackages_replace() default {};
 
 	/**
-	 * Configuration property:  Bean property namer.
+	 * Bean property namer.
 	 *
 	 * <p>
 	 * The class to use for calculating bean property names.
@@ -741,11 +822,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#propertyNamer(Class)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends PropertyNamer> propertyNamer() default PropertyNamer.Void.class;
 
 	/**
-	 * Configuration property:  Sort bean properties.
+	 * Sort bean properties.
 	 *
 	 * <p>
 	 * When <jk>true</jk>, all bean properties will be serialized and access in alphabetical order.
@@ -772,11 +855,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#sortProperties()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String sortProperties() default "";
 
 	/**
-	 * Configuration property:  Java object swaps.
+	 * Java object swaps.
 	 *
 	 * <p>
 	 * Swaps are used to "swap out" non-serializable classes with serializable equivalents during serialization,
@@ -799,11 +884,13 @@ public @interface BeanConfig {
 	 * 	<li class='link'>{@doc jm.AutoSwaps}
 	 * 	<li class='link'>{@doc jm.SurrogateClasses}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] swaps() default {};
 
 	/**
-	 * Configuration property: Replace Java object swap classes.
+	 * Replace Java object swap classes.
 	 *
 	 * <p>
 	 * Same as {@link #swaps()} but replaces any existing value.
@@ -811,11 +898,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#swaps(Class...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] swaps_replace() default {};
 
 	/**
-	 * Configuration property:  Time zone.
+	 * Time zone.
 	 *
 	 * <p>
 	 * Specifies the default timezone for serializer and parser sessions.
@@ -829,11 +918,13 @@ public @interface BeanConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanSession.Builder#timeZone(TimeZone)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#timeZone(TimeZone)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String timeZone() default "";
 
 	/**
-	 * Configuration property:  Use enum names.
+	 * Use enum names.
 	 *
 	 * <p>
 	 * When enabled, enums are always serialized by name, not using {@link Object#toString()}.
@@ -852,11 +943,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#useEnumNames()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String useEnumNames() default "";
 
 	/**
-	 * Configuration property:  Don't use interface proxies.
+	 * Don't use interface proxies.
 	 *
 	 * <p>
 	 * Disables the feature where interfaces will be instantiated as proxy classes through the use of an
@@ -877,11 +970,13 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#disableInterfaceProxies()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableInterfaceProxies() default "";
 
 	/**
-	 * Configuration property:  Use Java Introspector.
+	 * Use Java Introspector.
 	 *
 	 * <p>
 	 * Using the built-in Java bean introspector will not pick up fields or non-standard getters/setters.
@@ -901,6 +996,8 @@ public @interface BeanConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#useJavaBeanIntrospector()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String useJavaBeanIntrospector() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
index 99e9e7f21..59abe05ca 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
@@ -64,6 +64,7 @@ public class BeanConfigAnnotation {
 			bool(a.disableIgnoreMissingSetters()).ifPresent(x -> b.disableIgnoreMissingSetters(x));
 			bool(a.disableIgnoreTransientFields()).ifPresent(x -> b.disableIgnoreTransientFields(x));
 			bool(a.ignoreUnknownBeanProperties()).ifPresent(x -> b.ignoreUnknownBeanProperties(x));
+			bool(a.ignoreUnknownEnumValues()).ifPresent(x -> b.ignoreUnknownEnumValues(x));
 			bool(a.disableIgnoreUnknownNullBeanProperties()).ifPresent(x -> b.disableIgnoreUnknownNullBeanProperties(x));
 			bool(a.sortProperties()).ifPresent(x -> b.sortProperties(x));
 			bool(a.useEnumNames()).ifPresent(x -> b.useEnumNames(x));
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
index 446f13ed6..a465d3b91 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
@@ -144,6 +144,8 @@ public @interface BeanIgnore {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -156,6 +158,8 @@ public @interface BeanIgnore {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
index 7b0182f6e..9f92db0cb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
@@ -207,6 +207,8 @@ public class BeanIgnoreAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		BeanIgnore[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
index b3368d2e3..8011327a5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanc.java
@@ -135,6 +135,8 @@ public @interface Beanc {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -185,6 +187,8 @@ public @interface Beanc {
 	 * 	arguments.  If neither this annotation or {@link Name @Name} is used, then we try to get the property names
 	 * 	from the parameter names if they are available in the bytecode.
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String properties() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
index afe11e9c5..064e9894c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
@@ -193,6 +193,8 @@ public class BeancAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Beanc[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
index 6b533e389..8ac4f6776 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
@@ -61,6 +61,8 @@ public @interface Beanp {
 	 *
 	 * <p>
 	 * This annotation can also be used on private fields of a property.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] dictionary() default {};
 
@@ -95,6 +97,8 @@ public @interface Beanp {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String format() default "";
 
@@ -208,6 +212,8 @@ public @interface Beanp {
 	 * <div class='info'>
 	 * 		Note that the {@link Name @Name} annotation can also be used for identifying a property name.
 	 * </div>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -272,6 +278,8 @@ public @interface Beanp {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -304,6 +312,8 @@ public @interface Beanp {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] params() default {};
 
@@ -352,6 +362,8 @@ public @interface Beanp {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String properties() default "";
 
@@ -374,6 +386,8 @@ public @interface Beanp {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesReadOnly(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesReadOnly(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ro() default "";
 
@@ -414,6 +428,8 @@ public @interface Beanp {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> type() default void.class;
 
@@ -428,6 +444,8 @@ public @interface Beanp {
 	 *
 	 * 	<ja>@Beanp</ja>(<js>"foo"</js>)
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 
@@ -450,6 +468,8 @@ public @interface Beanp {
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesWriteOnly(String, String)}
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanContext.Builder#beanPropertiesWriteOnly(Map)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String wo() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
index a3081e513..bc0b0fe13 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
@@ -348,6 +348,9 @@ public class BeanpAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Beanp[] value();
-	}}
+	}
+}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
index 5a0ad6bfe..9ce06596a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Builder.java
@@ -64,6 +64,8 @@ public @interface Builder {
 
 	/**
 	 * The builder for this class.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> value() default void.class;
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ContextApply.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ContextApply.java
index aaa455a37..a271f4e19 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ContextApply.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ContextApply.java
@@ -35,6 +35,8 @@ public @interface ContextApply {
 
 	/**
 	 * Identifies the class used to push values from an annotation into a property store.
+	 *
+	 * @return The annotation value.
 	 */
 	@SuppressWarnings("rawtypes")
 	public Class<? extends AnnotationApplier>[] value();
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
index 069a14a2c..ff7aee3dd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Example.java
@@ -150,6 +150,8 @@ public @interface Example {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -162,6 +164,8 @@ public @interface Example {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -173,6 +177,8 @@ public @interface Example {
 	 *
 	 * <p>
 	 * This value is only used when the annotation is used on a type.
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
index cf7243bdf..3eab8b818 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
@@ -223,6 +223,8 @@ public class ExampleAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Example[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
index eaa2bc879..b65a264c2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Marshalled.java
@@ -80,6 +80,8 @@ public @interface Marshalled {
 	 * <ul class='seealso'>
 	 * 	<li class='ja'>{@link Example}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String example() default "";
 
@@ -96,6 +98,8 @@ public @interface Marshalled {
 	 * 	<ja>@Marshalled</ja>(implClass=MyInterfaceImpl.<jk>class</jk>)
 	 * 	<jk>public class</jk> MyInterface {...}
 	 * <p>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> implClass() default void.class;
 
@@ -151,6 +155,8 @@ public @interface Marshalled {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -163,6 +169,8 @@ public @interface Marshalled {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
index b7ac47469..0fc0d91d1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
@@ -230,6 +230,8 @@ public class MarshalledAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Marshalled[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
index b2adcf637..7c068e022 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Name.java
@@ -48,6 +48,8 @@ public @interface Name {
 
 	/**
 	 * The bean property or parameter name.
+	 *
+	 * @return The annotation value.
 	 */
 	String value();
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
index b6e101205..b53ecc1f6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NameProperty.java
@@ -105,6 +105,8 @@ public @interface NameProperty {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
index 5f7fa3365..c6eebbd5e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
@@ -178,6 +178,8 @@ public class NamePropertyAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		NameProperty[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
index 17d4edeec..977c7beee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentProperty.java
@@ -108,6 +108,8 @@ public @interface ParentProperty {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
index 84d1c98bc..e1b37088b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
@@ -178,6 +178,8 @@ public class ParentPropertyAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		ParentProperty[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
index 58566d391..68242a4e1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Swap.java
@@ -48,6 +48,8 @@ public @interface Swap {
 	 *
 	 * <p>
 	 * A synonym for {@link #value()}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> impl() default void.class;
 
@@ -71,6 +73,8 @@ public @interface Swap {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.PerMediaTypeSwaps}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] mediaTypes() default {};
 
@@ -156,6 +160,8 @@ public @interface Swap {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -168,6 +174,8 @@ public @interface Swap {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -204,6 +212,8 @@ public @interface Swap {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.TemplatedSwaps}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String template() default "";
 
@@ -212,6 +222,8 @@ public @interface Swap {
 	 *
 	 * <p>
 	 * A synonym for {@link #impl()}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?> value() default void.class;
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
index 662ab1957..2bb29d003 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
@@ -281,6 +281,8 @@ public class SwapAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Swap[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
index aa3166874..d4ecb85dd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Uri.java
@@ -126,6 +126,8 @@ public @interface Uri {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -138,6 +140,8 @@ public @interface Uri {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
index 21a53fe67..22d0eed75 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
@@ -201,6 +201,8 @@ public class UriAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Uri[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AnyAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AnyAssertion.java
index 1e443d133..ec7861eea 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AnyAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AnyAssertion.java
@@ -123,6 +123,7 @@ public class AnyAssertion<T> extends FluentAnyAssertion<T,AnyAssertion<T>> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ArrayAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ArrayAssertion.java
index 9fa152e3c..839e07e8c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ArrayAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ArrayAssertion.java
@@ -106,6 +106,7 @@ public class ArrayAssertion<E> extends FluentArrayAssertion<E,ArrayAssertion<E>>
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
index b7827cbd3..ad942a2b9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
@@ -256,6 +256,7 @@ public class Assertion {
 	/**
 	 * Convenience method for getting the array class of the specified element type.
 	 *
+	 * @param <E> The element type.
 	 * @param c The object to get the class name for.
 	 * @return The class name for an object.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
index ac09c082d..e40163a76 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicate.java
@@ -40,7 +40,7 @@ import org.apache.juneau.cp.*;
  * 	<jc>// Asserts that a bean passes a custom test.</jc>
  * 	<jc>// AssertionError with specified message is thrown otherwise.</jc>
  * 	Predicate&lt;MyBean&gt; <jv>predicate</jv> = <jk>new</jk> AssertionPredicate&lt;MyBean&gt;(
- * 		<jv>x</jv> -> <jv>x</jv>.getFoo().equals(<js>"bar"</js>),
+ * 		<jv>x</jv> -&gt; <jv>x</jv>.getFoo().equals(<js>"bar"</js>),
  * 		<js>"Foo did not equal bar.  Bean was=''{0}''"</js>,
  * 		<jsf>VALUE</jsf>
  * 	);
@@ -159,7 +159,7 @@ public class AssertionPredicate<T> implements Predicate<T> {
 	 * Encapsulates multiple predicates into a single AND operation.
 	 *
 	 * <p>
-	 * Similar to <c><jsm>stream</jsm>(<jv>predicates</jv>).reduce(<jv>x</jv>-><jk>true</jk>, Predicate::and)</c> but
+	 * Similar to <c><jsm>stream</jsm>(<jv>predicates</jv>).reduce(<jv>x</jv>-&gt;<jk>true</jk>, Predicate::and)</c> but
 	 * provides for {@link #getFailureMessage()} to return a useful message.
 	 *
 	 * @param <T> the type of input being tested.
@@ -206,7 +206,7 @@ public class AssertionPredicate<T> implements Predicate<T> {
 	 * Encapsulates multiple predicates into a single OR operation.
 	 *
 	 * <p>
-	 * Similar to <c><jsm>stream</jsm>(<jv>predicates</jv>).reduce(<jv>x</jv>-><jk>true</jk>, Predicate::or)</c> but
+	 * Similar to <c><jsm>stream</jsm>(<jv>predicates</jv>).reduce(<jv>x</jv>-&gt;<jk>true</jk>, Predicate::or)</c> but
 	 * provides for {@link #getFailureMessage()} to return a useful message.
 	 *
 	 * @param <T> the type of input being tested.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicates.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicates.java
index aadd44620..01c6f4706 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicates.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/AssertionPredicates.java
@@ -343,6 +343,7 @@ public class AssertionPredicates {
 	 * Assertion error message is <js>"Predicate test #x failed."</js> followed by
 	 * the inner failed message if the failed predicate extends from {@link AssertionPredicate}.
 	 *
+	 * @param <T> The predicate type.
 	 * @param predicates The predicates to combine.
 	 * @return The combined predicates.
 	 */
@@ -357,6 +358,7 @@ public class AssertionPredicates {
 	 * <p>
 	 * Assertion error message is <js>"No predicate tests passed."</js>.
 	 *
+	 * @param <T> The predicate type.
 	 * @param predicates The predicates to combine.
 	 * @return The combined predicates.
 	 */
@@ -371,6 +373,7 @@ public class AssertionPredicates {
 	 * <p>
 	 * Assertion error message is <js>"Predicate test unexpectedly passed."</js>.
 	 *
+	 * @param <T> The predicate type.
 	 * @param predicate The predicate to negate.
 	 * @return The combined predicates.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
index 181cf6fef..0ffc06dd5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertions.java
@@ -48,7 +48,7 @@ import org.apache.juneau.cp.*;
  * 	<jk>import static</jk> org.apache.juneau.assertions.Assertions.*;
  *
  *	<jc>// Assert that calling doBadCall() causes a RuntimeException.</jc>
- * 	<jsm>assertThrown</jsm>(() -> <jv>myPojo</jv>.doBadCall())
+ * 	<jsm>assertThrown</jsm>(() -&gt; <jv>myPojo</jv>.doBadCall())
  * 		.isType(RuntimeException.<jk>class</jk>)
  * 		.message().contains(<js>"Bad thing happened."</js>);
  * </p>
@@ -105,6 +105,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link AnyAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -132,6 +133,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ArrayAssertion} for supported operations on this type.
 	 *
+	 * @param <E> The value element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -160,6 +162,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link BeanAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -167,7 +170,7 @@ public class Assertions {
 	 * 	A new assertion object.
 	 * 	<br>Never <jk>null</jk>.
 	 */
-	public static final <V> BeanAssertion<V> assertBean(V value) {
+	public static final <T> BeanAssertion<T> assertBean(T value) {
 		return BeanAssertion.create(value);
 	}
 
@@ -188,6 +191,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link BeanListAssertion} for supported operations on this type.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -235,7 +239,7 @@ public class Assertions {
 	 *	<jc>// Asserts that a Boolean array has size of 3 and all entries are TRUE.</jc>
 	 * 	<jsm>assertBooleanArray</jsm>(<jv>myBooleanArray</jv>)
 	 * 		.isSize(3)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> == <jk>true</jk>);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> == <jk>true</jk>);
 	 * </p>
 	 *
 	 * <p>
@@ -267,7 +271,7 @@ public class Assertions {
 	 *	<jc>// Asserts that a byte array has size of 3 and all bytes are larger than 10.</jc>
 	 * 	<jsm>assertByteArray</jsm>(<jv>myByteArray</jv>)
 	 * 		.isSize(3)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 10);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 10);
 	 * </p>
 	 *
 	 * <p>
@@ -389,6 +393,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link CollectionAssertion} for supported operations on this type.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -415,6 +420,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ComparableAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -462,7 +468,7 @@ public class Assertions {
 	 * 	<jc>// Asserts that a double array is at least size 100 and all values are greater than 1000.</jc>
 	 * 	<jsm>assertDoubleArray</jsm>(<jv>myDoubleArray</jv>)
 	 * 		.size().isGte(100f)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 1000f);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 1000f);
 	 * </p>
 	 *
 	 * <p>
@@ -489,7 +495,7 @@ public class Assertions {
 	 * 	<jc>// Asserts that a float array is at least size 100 and all values are greater than 1000.</jc>
 	 * 	<jsm>assertFloatArray</jsm>(<jv>myFloatArray</jv>)
 	 * 		.size().isGte(100f)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 1000f);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 1000f);
 	 * </p>
 	 *
 	 * <p>
@@ -516,7 +522,7 @@ public class Assertions {
 	 * 	<jc>// Asserts that a double array is at least size 100 and all values are greater than 1000.</jc>
 	 * 	<jsm>assertIntArray</jsm>(<jv>myIntArray</jv>)
 	 * 		.size().isGte(100)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 1000);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 1000);
 	 * </p>
 	 *
 	 * <p>
@@ -575,6 +581,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ListAssertion} for supported operations on this type.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -602,6 +609,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ListAssertion} for supported operations on this type.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -651,7 +659,7 @@ public class Assertions {
 	 * 	<jc>// Asserts that a long array is at least size 100 and all values are greater than 1000.</jc>
 	 * 	<jsm>assertLongArray</jsm>(<jv>myLongArray</jv>)
 	 * 		.size().isGte(100)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 1000);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 1000);
 	 * </p>
 	 *
 	 * <p>
@@ -684,6 +692,8 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link MapAssertion} for supported operations on this type.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -712,6 +722,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ObjectAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -740,6 +751,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link AnyAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -789,7 +801,7 @@ public class Assertions {
 	 * 	<jc>// Asserts that a float array is at least size 10 and all values are greater than 100.</jc>
 	 * 	<jsm>assertShortArray</jsm>(<jv>myShortArray</jv>)
 	 * 		.size().isGte(10)
-	 * 		.all(<jv>x</jv> -> <jv>x</jv> &gt; 100);
+	 * 		.all(<jv>x</jv> -&gt; <jv>x</jv> &gt; 100);
 	 * </p>
 	 *
 	 * <p>
@@ -880,6 +892,7 @@ public class Assertions {
 	 * <p>
 	 * See {@doc jm.FluentAssertions Fluent Assertions} for general assertion usage and {@link ThrowableAssertion} for supported operations on this type.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -887,7 +900,7 @@ public class Assertions {
 	 * 	A new assertion object.
 	 * 	<br>Never <jk>null</jk>.
 	 */
-	public static final <V extends Throwable> ThrowableAssertion<V> assertThrowable(V value) {
+	public static final <T extends Throwable> ThrowableAssertion<T> assertThrowable(T value) {
 		return ThrowableAssertion.create(value);
 	}
 
@@ -955,7 +968,7 @@ public class Assertions {
 	 * 	<jk>import static</jk> org.apache.juneau.assertions.Assertions.*;
 	 *
 	 * 	<jc>// Asserts that the specified method throws a RuntimeException containing "foobar" in the message. </jc>
-	 * 	<jsm>assertThrown</jsm>(()-><jv>foo</jv>.getBar())
+	 * 	<jsm>assertThrown</jsm>(()-&gt;<jv>foo</jv>.getBar())
 	 * 		.isType(RuntimeException.<jk>class</jk>)
 	 * 		.message().contains(<js>"foobar"</js>);
 	 * </p>
@@ -1008,7 +1021,7 @@ public class Assertions {
 	 * 	<jk>import static</jk> org.apache.juneau.assertions.Assertions.*;
 	 *
 	 *	<jk>public</jk> String setFoo(List&lt;String&gt; <jv>foo</jv>) {
-	 *		<jsm>assertArg</jsm>(<jv>foo</jv> != <jk>null</jk> && ! <jv>foo</jv>.isEmpty(), <js>"'foo' cannot be null or empty."</js>);
+	 *		<jsm>assertArg</jsm>(<jv>foo</jv> != <jk>null</jk> &amp;&amp; ! <jv>foo</jv>.isEmpty(), <js>"'foo' cannot be null or empty."</js>);
 	 *		...
 	 *	}
 	 * </p>
@@ -1026,6 +1039,7 @@ public class Assertions {
 	/**
 	 * Throws an {@link IllegalArgumentException} if the specified value doesn't have all subclasses of the specified type.
 	 *
+	 * @param <E> The element type.
 	 * @param name The argument name.
 	 * @param type The expected parent class.
 	 * @param value The array value being checked.
@@ -1033,11 +1047,11 @@ public class Assertions {
 	 * @throws IllegalArgumentException Constructed exception.
 	 */
 	@SuppressWarnings("unchecked")
-	public static final <T> Class<T>[] assertClassArrayArgIsType(String name, Class<T> type, Class<?>[] value) throws IllegalArgumentException {
+	public static final <E> Class<E>[] assertClassArrayArgIsType(String name, Class<E> type, Class<?>[] value) throws IllegalArgumentException {
 		for (int i = 0; i < value.length; i++)
 			if (! type.isAssignableFrom(value[i]))
 				throw illegalArgumentException("Arg {0} did not have arg of type {1} at index {2}: {3}", name, type.getName(), i, value[i].getName());
-		return (Class<T>[])value;
+		return (Class<E>[])value;
 	}
 
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanAssertion.java
index 658e81069..7071d24f1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanAssertion.java
@@ -91,6 +91,7 @@ public class BeanAssertion<T> extends FluentBeanAssertion<T,BeanAssertion<T>> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanListAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanListAssertion.java
index e3b315e21..126b51828 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanListAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/BeanListAssertion.java
@@ -109,6 +109,7 @@ public class BeanListAssertion<E> extends FluentBeanListAssertion<E,BeanListAsse
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/CollectionAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/CollectionAssertion.java
index 8b3c54ba7..733ba6b49 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/CollectionAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/CollectionAssertion.java
@@ -96,6 +96,7 @@ public class CollectionAssertion<E> extends FluentCollectionAssertion<E,Collecti
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ComparableAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ComparableAssertion.java
index b08f7a356..e075c6ef9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ComparableAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ComparableAssertion.java
@@ -85,6 +85,7 @@ public class ComparableAssertion<T extends Comparable<T>> extends FluentComparab
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAnyAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAnyAssertion.java
index 542e9d728..3006c5186 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAnyAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAnyAssertion.java
@@ -179,6 +179,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into an array assertion.
 	 *
+	 * @param <E> The element type of the array.
 	 * @param elementType The element type of the array.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not an array.
@@ -301,6 +302,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a collection assertion.
 	 *
+	 * @param <E> The element type of the collection.
 	 * @param elementType The element type of the collection.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not a collection.
@@ -325,6 +327,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a comparable object assertion.
 	 *
+	 * @param <T2> The comparable type.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not an instance of {@link Comparable}.
 	 */
@@ -376,6 +379,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a list assertion.
 	 *
+	 * @param <E> The element type.
 	 * @param elementType The element type.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not a list.
@@ -399,6 +403,8 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a map assertion with the specified key and value types.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param keyType The key type.
 	 * @param valueType The value type.
 	 * @return A new assertion.
@@ -414,6 +420,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a bean assertion.
 	 *
+	 * @param <T2> The bean type.
 	 * @param beanType The bean type.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not a bean.
@@ -436,6 +443,7 @@ public class FluentAnyAssertion<T,R> extends FluentObjectAssertion<T,R> {
 	/**
 	 * Converts this object assertion into a list-of-beans assertion.
 	 *
+	 * @param <T2> The bean type.
 	 * @param beanType The bean type.
 	 * @return A new assertion.
 	 * @throws AssertionError If object is not a bean.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
index 64d7e0e44..3934416b9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
@@ -30,8 +30,8 @@ import org.apache.juneau.internal.*;
  * 	MyPojo <jv>myPojo</jv> = ...;
  * 	MyTestedBean <jv>myTestedBean</jv> = ...;
  *
- * 	Assertion <jv>assertion</jv> = <jk>new</jk> FluentBeanAssertion&lt;MyPojo,MyTestedBean>(<jv>myPojo</jv>, <jv>myTestedBean</jv>);
- * 	<jv>myPojo</jv> = <jv>assertion</jv>.test(<jv>x</jv> -> <jv>x</jv>.getMyProperty().equals(<js>"foo"</js>));  <jc>// Returns myPojo after test.</jc>
+ * 	Assertion <jv>assertion</jv> = <jk>new</jk> FluentBeanAssertion&lt;MyPojo,MyTestedBean&gt;(<jv>myPojo</jv>, <jv>myTestedBean</jv>);
+ * 	<jv>myPojo</jv> = <jv>assertion</jv>.test(<jv>x</jv> -&gt; <jv>x</jv>.getMyProperty().equals(<js>"foo"</js>));  <jc>// Returns myPojo after test.</jc>
  * </p>
  *
  * For subclasses such as {@link IntegerAssertion}, the return object is simply itself so that multiple tests
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
index 138879b80..83bc8f330 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
@@ -179,7 +179,7 @@ public class FluentObjectAssertion<T,R> extends FluentAssertion<R> {
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Validates that the specified object is an instance of MyBean.</jc>
-	 * 	<jsm>assertObject<jsm>(<jv>myPojo</jv>).asString(XmlSerializer.<jsf>DEFAULT</jsf>).is(<js>"&lt;object>&lt;foo>bar&lt;/foo>&lt;baz>qux&lt;/baz>&lt;/object>"</js>);
+	 * 	<jsm>assertObject<jsm>(<jv>myPojo</jv>).asString(XmlSerializer.<jsf>DEFAULT</jsf>).is(<js>"&lt;object&gt;&lt;foo&gt;bar&lt;/foo&gt;&lt;baz&gt;qux&lt;/baz&gt;&lt;/object&gt;"</js>);
 	 * </p>
 	 *
 	 * @param ws The serializer to use to convert the object to text.
@@ -199,7 +199,7 @@ public class FluentObjectAssertion<T,R> extends FluentAssertion<R> {
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Validates that the specified object is "foobar" after converting to a string.</jc>
-	 * 	<jsm>assertObject<jsm>(<jv>myPojo</jv>).asString(<jv>x</jv>-><jv>x</jv>.toString()).is(<js>"foobar"</js>);
+	 * 	<jsm>assertObject<jsm>(<jv>myPojo</jv>).asString(<jv>x</jv>-&gt;<jv>x</jv>.toString()).is(<js>"foobar"</js>);
 	 * </p>
 	 *
 	 * @param function The conversion function.
@@ -252,6 +252,7 @@ public class FluentObjectAssertion<T,R> extends FluentAssertion<R> {
 	/**
 	 * Applies a transform on the inner object and returns a new inner object.
 	 *
+	 * @param <T2> The transform-to type.
 	 * @param function The function to apply.
 	 * @return This object.
 	 */
@@ -609,6 +610,7 @@ public class FluentObjectAssertion<T,R> extends FluentAssertion<R> {
 	/**
 	 * Returns the result of running the specified function against the value and returns the result.
 	 *
+	 * @param <T2> The mapper-to type.
 	 * @param mapper The function to run against the value.
 	 * @return The result, never <jk>null</jk>.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
index cc68a3c64..9c770885b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
@@ -154,7 +154,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with 'foobar' somewhere in the messages. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).message().matches(<js>".*foobar.*"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).message().matches(<js>".*foobar.*"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the throwable message.  Never <jk>null</jk>.
@@ -169,7 +169,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with 'foobar' somewhere in the messages. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).messages().containsMatch(<js>".*foobar.*"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).messages().containsMatch(<js>".*foobar.*"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the throwable message.  Never <jk>null</jk>.
@@ -197,7 +197,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with 'foobar' somewhere in the localized messages. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).localizedMessage().matches(<js>".*foobar.*"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).localizedMessage().matches(<js>".*foobar.*"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the throwable localized message.  Never <jk>null</jk>.
@@ -212,7 +212,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with 'foobar' somewhere in the messages. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).localizedMessages().contains(<js>".*foobar.*"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).localizedMessages().contains(<js>".*foobar.*"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the throwable message.  Never <jk>null</jk>.
@@ -240,7 +240,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with 'foobar' somewhere in the stack trace. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).stackTrace().contains(<js>"foobar"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).stackTrace().contains(<js>"foobar"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the throwable stacktrace.  Never <jk>null</jk>.
@@ -255,7 +255,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception whose caused-by message contains 'foobar'. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).causedBy().message().contains(<js>"foobar"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).causedBy().message().contains(<js>"foobar"</js>);
 	 * </p>
 	 *
 	 * @return An assertion against the caused-by.  Never <jk>null</jk>.
@@ -270,13 +270,14 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception whose caused-by message contains 'foobar'. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).causedBy().message().contains(<js>"foobar"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).causedBy().message().contains(<js>"foobar"</js>);
 	 * </p>
 	 *
+	 * @param <X> The throwable type.
 	 * @param type The expected exception type.
 	 * @return An assertion against the caused-by.  Never <jk>null</jk>.
 	 */
-	public <E extends Throwable> FluentThrowableAssertion<E,R> causedBy(Class<E> type) {
+	public <X extends Throwable> FluentThrowableAssertion<X,R> causedBy(Class<X> type) {
 		Throwable t = map(Throwable::getCause).orElse(null);
 		if (t == null || type.isInstance(t))
 			return new FluentThrowableAssertion<>(this, type.cast(t), returns());
@@ -289,20 +290,21 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws an exception with a caused-by RuntimeException containing 'foobar'</jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).causedBy(RuntimeException.<jk>class</jk>).exists().contains(<js>"foobar"</js>);
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).causedBy(RuntimeException.<jk>class</jk>).exists().contains(<js>"foobar"</js>);
 	 * </p>
 	 *
+	 * @param <X> The throwable type.
 	 * @param throwableClass The class type to search for in the caused-by chain.
 	 * @return An assertion against the caused-by throwable.  Never <jk>null</jk>.
 	 */
-	public <E extends Throwable> FluentThrowableAssertion<E,R> find(Class<E> throwableClass) {
+	public <X extends Throwable> FluentThrowableAssertion<X,R> find(Class<X> throwableClass) {
 		Throwable t = orElse(null);
 		while (t != null) {
 			if (throwableClass.isInstance(t))
 				return new FluentThrowableAssertion<>(this, throwableClass.cast(t), returns());
 			t = t.getCause();
 		}
-		return new FluentThrowableAssertion<>(this, (E)null, returns());
+		return new FluentThrowableAssertion<>(this, (X)null, returns());
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
@@ -315,7 +317,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws a RuntimeException. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar())
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar())
 	 * 		.isType(RuntimeException.<jk>class</jk>);
 	 * </p>
 	 *
@@ -336,7 +338,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws a RuntimeException. </jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar())
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar())
 	 * 		.isExactType(RuntimeException.<jk>class</jk>);
 	 * </p>
 	 *
@@ -357,7 +359,7 @@ public class FluentThrowableAssertion<T extends Throwable,R> extends FluentObjec
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bjava'>
 	 * 	<jc>// Asserts that the specified method throws any exception.</jc>
-	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -> <jv>foo</jv>.getBar()).exists();
+	 * 	ThrowableAssertion.<jsm>assertThrown</jsm>(() -&gt; <jv>foo</jv>.getBar()).exists();
 	 * </p>
 	 *
 	 * @return The fluent return object.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ListAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ListAssertion.java
index 666322403..b62a6a1e8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ListAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ListAssertion.java
@@ -106,6 +106,7 @@ public class ListAssertion<E> extends FluentListAssertion<E,ListAssertion<E>> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
@@ -118,6 +119,7 @@ public class ListAssertion<E> extends FluentListAssertion<E,ListAssertion<E>> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/MapAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/MapAssertion.java
index 4de706e51..b4248d3e3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/MapAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/MapAssertion.java
@@ -97,6 +97,8 @@ public class MapAssertion<K,V> extends FluentMapAssertion<K,V,MapAssertion<K,V>>
 	/**
 	 * Static creator.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ObjectAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ObjectAssertion.java
index e494c1a65..516d20786 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ObjectAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ObjectAssertion.java
@@ -86,6 +86,7 @@ public class ObjectAssertion<T> extends FluentObjectAssertion<T,ObjectAssertion<
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/PrimitiveArrayAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/PrimitiveArrayAssertion.java
index 2c63063b2..54262ce6f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/PrimitiveArrayAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/PrimitiveArrayAssertion.java
@@ -98,6 +98,8 @@ public class PrimitiveArrayAssertion<E,T> extends FluentPrimitiveArrayAssertion<
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
+	 * @param <T> The value type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Snippet.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Snippet.java
index b51f7f071..0cef49b34 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Snippet.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Snippet.java
@@ -31,7 +31,7 @@ public interface Snippet {
 	/**
 	 * Run arbitrary code and optionally throw an exception.
 	 *
-	 * @throws Throwable
+	 * @throws Throwable Any throwable.
 	 */
 	void run() throws Throwable;
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ThrowableAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ThrowableAssertion.java
index 72b7c68b7..fef7659a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ThrowableAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/ThrowableAssertion.java
@@ -94,12 +94,13 @@ public class ThrowableAssertion<T extends Throwable> extends FluentThrowableAsse
 	/**
 	 * Static creator.
 	 *
+	 * @param <X> The throwable type.
 	 * @param value
 	 * 	The object being tested.
 	 * 	<br>Can be <jk>null</jk>.
 	 * @return A new assertion object.
 	 */
-	public static <V extends Throwable> ThrowableAssertion<V> create(V value) {
+	public static <X extends Throwable> ThrowableAssertion<X> create(X value) {
 		return new ThrowableAssertion<>(value);
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
index 71da75c4b..720afca11 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
@@ -466,6 +466,7 @@ public class JsonList extends LinkedList<Object> {
 	/**
 	 * Add if predicate matches.
 	 *
+	 * @param <T> The type being tested.
 	 * @param test The predicate to match against.
 	 * @param value The value to add if the predicate matches.
 	 * @return This object.
@@ -621,6 +622,8 @@ public class JsonList extends LinkedList<Object> {
 	/**
 	 * Same as {@link #getMap(int)} except converts the keys and values to the specified types.
 	 *
+	 * @param <K> The key type class.
+	 * @param <V> The value type class.
 	 * @param index The index.
 	 * @param keyType The key type class.
 	 * @param valType The value type class.
@@ -645,6 +648,7 @@ public class JsonList extends LinkedList<Object> {
 	/**
 	 * Same as {@link #getList(int)} except converts the elements to the specified types.
 	 *
+	 * @param <E> The element type.
 	 * @param index The index.
 	 * @param elementType The element type class.
 	 * @return The converted value.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
index 36df6d6f7..ed0c98a80 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
@@ -472,6 +472,7 @@ public class JsonMap extends LinkedHashMap<String,Object> {
 	/**
 	 * Add if predicate matches value.
 	 *
+	 * @param <T> The value type.
 	 * @param test The predicate to match against.
 	 * @param key The key.
 	 * @param value The value.
@@ -484,6 +485,7 @@ public class JsonMap extends LinkedHashMap<String,Object> {
 	/**
 	 * Adds the first value that matches the specified predicate.
 	 *
+	 * @param <T> The value types.
 	 * @param test The predicate to match against.
 	 * @param key The key.
 	 * @param values The values to test.
@@ -511,6 +513,7 @@ public class JsonMap extends LinkedHashMap<String,Object> {
 	/**
 	 * Adds a value in this map if the entry does not exist or the current value is <jk>null</jk> and the value matches the specified predicate.
 	 *
+	 * @param <T> The value type.
 	 * @param predicate The predicate to test the value with.
 	 * @param key The map key.
 	 * @param value The value to set if the current value does not exist or is <jk>null</jk>.
@@ -972,6 +975,8 @@ public class JsonMap extends LinkedHashMap<String,Object> {
 	/**
 	 * Same as {@link #getMap(String, JsonMap)} except converts the keys and values to the specified types.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param key The key.
 	 * @param keyType The key type class.
 	 * @param valType The value type class.
@@ -1035,6 +1040,7 @@ public class JsonMap extends LinkedHashMap<String,Object> {
 	/**
 	 * Same as {@link #getList(String, JsonList)} except converts the elements to the specified types.
 	 *
+	 * @param <E> The element type.
 	 * @param key The key.
 	 * @param elementType The element type class.
 	 * @param def The default value if the map doesn't contain the specified mapping.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
index a47bc045c..0b86b44e4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanCreateMethodFinder.java
@@ -64,7 +64,7 @@ import org.apache.juneau.reflect.*;
  * 		.createMethodFinder(A.<jk>class</jk>, <mv>b</mv>)  <jc>// Looking for creator for A on b object.</jc>
  * 		.find(<js>"createA"</js>)                         <jc>// Look for method called "createA".</jc>
  * 		.thenFind(<js>"createA2"</js>)                    <jc>// Then look for method called "createA2".</jc>
- * 		.withDefault(()-><jk>new</jk> A())                        <jc>// Optionally supply a default value if method not found.</jc>
+ * 		.withDefault(()-&gt;<jk>new</jk> A())                        <jc>// Optionally supply a default value if method not found.</jc>
  * 		.run();                                  <jc>// Execute.</jc>
  * </p>
  *
@@ -104,6 +104,7 @@ public class BeanCreateMethodFinder<T> {
 	/**
 	 * Adds a bean to the lookup for parameters.
 	 *
+	 * @param <T2> The bean type.
 	 * @param c The bean type.
 	 * @param t The bean.
 	 * @return This object.
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 5ecedd19a..b406085d4 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
@@ -121,6 +121,7 @@ public class BeanCreator<T> {
 	/**
 	 * Shortcut for calling <c>BeanStore.INSTANCE.createBean(beanType)</c>.
 	 *
+	 * @param <T> The bean type to create.
 	 * @param beanType The bean type to create.
 	 * @return A new creator.
 	 */
@@ -186,6 +187,7 @@ public class BeanCreator<T> {
 	/**
 	 * Adds an argument to this creator.
 	 *
+	 * @param <T2> The parameter type.
 	 * @param beanType The parameter type.
 	 * @param bean The parameter value.
 	 * @return This object.
@@ -213,6 +215,7 @@ public class BeanCreator<T> {
 	 * 	<li class='note'>When specified, we don't look for a static creator method.
 	 * </ul>
 	 *
+	 * @param <B> The class type of the builder.
 	 * @param type The class type of the builder.
 	 * @param value The value for this setting.
 	 * @return This object.
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 197f152e3..6aa42d4e5 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
@@ -316,6 +316,7 @@ public class BeanStore {
 	/**
 	 * Adds a named bean of the specified type to this factory.
 	 *
+	 * @param <T> The class to associate this bean with.
 	 * @param beanType The class to associate this bean with.
 	 * @param bean The bean.  Can be <jk>null</jk>.
 	 * @param name The bean name if this is a named bean.  Can be <jk>null</jk>.
@@ -373,6 +374,7 @@ public class BeanStore {
 	/**
 	 * Same as {@link #addBean(Class,Object,String)} but returns the bean instead of this object for fluent calls.
 	 *
+	 * @param <T> The class to associate this bean with.
 	 * @param beanType The class to associate this bean with.
 	 * @param bean The bean.  Can be <jk>null</jk>.
 	 * @param name The bean name if this is a named bean.  Can be <jk>null</jk>.
@@ -403,6 +405,7 @@ public class BeanStore {
 	/**
 	 * Returns the unnamed bean of the specified type.
 	 *
+	 * @param <T> The type of bean to return.
 	 * @param beanType The type of bean to return.
 	 * @return The bean.
 	 */
@@ -421,6 +424,7 @@ public class BeanStore {
 	/**
 	 * Returns the named bean of the specified type.
 	 *
+	 * @param <T> The type of bean to return.
 	 * @param beanType The type of bean to return.
 	 * @param name The bean name.  Can be <jk>null</jk>.
 	 * @return The bean.
@@ -446,6 +450,7 @@ public class BeanStore {
 	 * <p>
 	 * The results from the parent bean store are appended to the list of beans from this beans store.
 	 *
+	 * @param <T> The bean type to return.
 	 * @param beanType The bean type to return.
 	 * @return The bean entries.  Never <jk>null</jk>.
 	 */
@@ -512,6 +517,7 @@ public class BeanStore {
 	 * 	<li class='jc'>{@link BeanCreator} for usage.
 	 * </ul>
 	 *
+	 * @param <T> The bean type to create.
 	 * @param beanType The bean type to create.
 	 * @return A new bean creator.
 	 */
@@ -546,6 +552,7 @@ public class BeanStore {
 	 * 	<li class='jc'>{@link BeanCreateMethodFinder} for usage.
 	 * </ul>
 	 *
+	 * @param <T> The bean type to create.
 	 * @param beanType The bean type to create.
 	 * @param resourceClass The class containing the bean creator method.
 	 * @return The method finder.  Never <jk>null</jk>.
@@ -564,6 +571,7 @@ public class BeanStore {
 	 * 	<li class='jc'>{@link BeanCreateMethodFinder} for usage.
 	 * </ul>
 	 *
+	 * @param <T> The bean type to create.
 	 * @param beanType The bean type to create.
 	 * @return The method finder.  Never <jk>null</jk>.
 	 */
@@ -660,6 +668,7 @@ public class BeanStore {
 	 * <p>
 	 * Subclasses can override this method to create their own entry subtypes.
 	 *
+	 * @param <T> The class type to associate with the bean.
 	 * @param type The class type to associate with the bean.
 	 * @param bean The bean supplier.
 	 * @param name Optional name to associate with the bean.  Can be <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStoreEntry.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStoreEntry.java
index d5dedae22..b68099f1b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStoreEntry.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/cp/BeanStoreEntry.java
@@ -43,6 +43,7 @@ public class BeanStoreEntry<T> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <T> The class type to associate with the bean.
 	 * @param type The class type to associate with the bean.
 	 * @param bean The bean supplier.
 	 * @param name Optional name to associate with the bean.  Can be <jk>null</jk>.
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 beccb81e2..a76eb3f92 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
@@ -38,6 +38,7 @@ public class ContextBeanCreator<T> {
 	/**
 	 * Creator.
 	 *
+	 * @param <T> The bean type.
 	 * @param type The bean type.
 	 * @return A new creator object.
 	 */
@@ -101,10 +102,11 @@ public class ContextBeanCreator<T> {
 	/**
 	 * Returns access to the inner builder if the builder exists and is of the specified type.
 	 *
+	 * @param <B> The builder class type.
 	 * @param c The builder class type.
 	 * @return An optional containing the builder if it exists.
 	 */
-	public <T2 extends Context.Builder> Optional<T2> builder(Class<T2> c) {
+	public <B extends Context.Builder> Optional<B> builder(Class<B> c) {
 		return optional(c.isInstance(builder) ? c.cast(builder) : null);
 	}
 
@@ -115,11 +117,12 @@ public class ContextBeanCreator<T> {
 	 * Typically used to allow you to execute operations without breaking the fluent flow of the client builder.
 	 * The operation is ignored if the builder isn't the specified type.
 	 *
+	 * @param <B> The builder class type.
 	 * @param c The builder class type.
 	 * @param operation The operation to apply.
 	 * @return This object.
 	 */
-	public <T2 extends Context.Builder> ContextBeanCreator<T> builder(Class<T2> c, Consumer<T2> operation) {
+	public <B extends Context.Builder> ContextBeanCreator<T> builder(Class<B> c, Consumer<B> operation) {
 		if (c.isInstance(builder))
 			operation.accept(c.cast(builder));
 		return this;
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 70949d01b..f433e0255 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
@@ -89,6 +89,7 @@ public class DefaultClassList {
 	/**
 	 * Returns the first class in this list which is a subclass of (or same as) the specified type.
 	 *
+	 * @param <T> The parent type.
 	 * @param type The parent type to check for.
 	 * @return The first class in this list which is a subclass of the specified type.
 	 */
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 3af286971..9ddc5da16 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
@@ -82,6 +82,7 @@ public class DefaultSettingsMap {
 	/**
 	 * Returns the value of the specified setting if it exists.
 	 *
+	 * @param <T> The return type.
 	 * @param type The setting type.
 	 * @param name The setting name.
 	 * @return The setting value.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
index 2b47cbcfa..6483376fe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/Csv.java
@@ -125,6 +125,8 @@ public @interface Csv {
 \	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -137,6 +139,8 @@ public @interface Csv {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
index 3b3972e98..b9c7a38ce 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
@@ -203,6 +203,8 @@ public class CsvAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Csv[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
index 3ca76b143..2792cbe02 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvConfig.java
@@ -42,6 +42,8 @@ public @interface CsvConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
index cf3f06391..1e37b70a5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
@@ -271,7 +271,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Aside section contents.
+	 * Aside section contents.
 	 *
 	 * @see HtmlDocSerializer.Builder#aside(String...)
 	 * @return
@@ -282,7 +282,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Aside section contents float.
+	 * Aside section contents float.
 	 *
 	 * @see HtmlDocSerializer.Builder#asideFloat(AsideFloat)
 	 * @return
@@ -293,7 +293,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Footer section contents.
+	 * Footer section contents.
 	 *
 	 * @see HtmlDocSerializer.Builder#footer(String...)
 	 * @return
@@ -304,7 +304,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Additional head section content.
+	 * Additional head section content.
 	 *
 	 * @see HtmlDocSerializer.Builder#head(String...)
 	 * @return
@@ -315,7 +315,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Header section contents.
+	 * Header section contents.
 	 *
 	 * @see HtmlDocSerializer.Builder#header(String...)
 	 * @return
@@ -326,7 +326,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Nav section contents.
+	 * Nav section contents.
 	 *
 	 * @see HtmlDocSerializer.Builder#nav(String...)
 	 * @return
@@ -337,7 +337,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Page navigation links.
+	 * Page navigation links.
 	 *
 	 * @see HtmlDocSerializer.Builder#navlinks(String...)
 	 * @return
@@ -348,7 +348,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  No-results message.
+	 * No-results message.
 	 *
 	 * @see HtmlDocSerializer.Builder#noResultsMessage(String)
 	 * @return
@@ -359,7 +359,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Prevent word wrap on page.
+	 * Prevent word wrap on page.
 	 *
 	 * @see HtmlDocSerializer.Builder#nowrap()
 	 * @return
@@ -370,7 +370,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Javascript code.
+	 * Javascript code.
 	 *
 	 * @see HtmlDocSerializer.Builder#script(String...)
 	 * @return
@@ -381,7 +381,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  CSS style code.
+	 * CSS style code.
 	 *
 	 * @see HtmlDocSerializer.Builder#style(String...)
 	 * @return
@@ -392,7 +392,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Stylesheet import URLs.
+	 * Stylesheet import URLs.
 	 *
 	 * @see HtmlDocSerializer.Builder#stylesheet(String...)
 	 * @return
@@ -403,7 +403,7 @@ public class HtmlDocSerializerSession extends HtmlStrippedDocSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  HTML document template.
+	 * HTML document template.
 	 *
 	 * @see HtmlDocSerializer.Builder#template(Class)
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 072794673..6a34798c9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -952,7 +952,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * @see HtmlSerializer.Builder#addBeanTypesHtml()
 	 * @return
@@ -965,7 +965,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Add key/value headers on bean/map tables.
+	 * Add key/value headers on bean/map tables.
 	 *
 	 * @see HtmlSerializer.Builder#addKeyValueTableHeaders()
 	 * @return
@@ -976,7 +976,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Look for link labels in URIs.
+	 * Look for link labels in URIs.
 	 *
 	 * @see HtmlSerializer.Builder#disableDetectLabelParameters()
 	 * @return
@@ -987,7 +987,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Look for URLs in {@link String Strings}.
+	 * Look for URLs in {@link String Strings}.
 	 *
 	 * @see HtmlSerializer.Builder#disableDetectLinksInStrings()
 	 * @return
@@ -998,7 +998,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Link label parameter name.
+	 * Link label parameter name.
 	 *
 	 * @see HtmlSerializer.Builder#labelParameter(String)
 	 * @return
@@ -1009,7 +1009,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Anchor text source.
+	 * Anchor text source.
 	 *
 	 * @see HtmlSerializer.Builder#uriAnchorText(AnchorText)
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
index 9417a37c6..178232b0c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/Html.java
@@ -60,11 +60,15 @@ public @interface Html {
 	 *
 	 * <p>
 	 * This overrides the behavior specified by {@link org.apache.juneau.html.HtmlSerializer.Builder#uriAnchorText(AnchorText)}.
+	 *
+	 * @return The annotation value.
 	 */
 	String anchorText() default "";
 
 	/**
 	 * Specifies what format to use for the HTML element.
+	 *
+	 * @return The annotation value.
 	 */
 	HtmlFormat format() default HtmlFormat.HTML;
 
@@ -94,6 +98,8 @@ public @interface Html {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String link() default "";
 
@@ -103,6 +109,8 @@ public @interface Html {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#addKeyValueTableHeaders()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean noTableHeaders() default false;
 
@@ -111,6 +119,8 @@ public @interface Html {
 	 *
 	 * <p>
 	 * Default is <jk>false</jk>.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean noTables() default false;
 
@@ -196,6 +206,8 @@ public @interface Html {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -208,6 +220,8 @@ public @interface Html {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -216,6 +230,8 @@ public @interface Html {
 	 *
 	 * <p>
 	 * This annotation applies to bean properties and classes.
+	 *
+	 * @return The annotation value.
 	 */
 	@SuppressWarnings("rawtypes")
 	Class<? extends HtmlRender> render() default HtmlRender.class;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
index 85525a731..21a60c0b3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
@@ -323,6 +323,8 @@ public class HtmlAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Html[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
index 3d5762880..597e8612f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
@@ -43,6 +43,8 @@ public @interface HtmlConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -55,7 +57,7 @@ public @interface HtmlConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * <p>
 	 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
@@ -79,11 +81,13 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#addBeanTypesHtml()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addBeanTypes() default "";
 
 	/**
-	 * Configuration property:  Add key/value headers on bean/map tables.
+	 * Add key/value headers on bean/map tables.
 	 *
 	 * <p>
 	 * When enabled, <bc>key</bc> and <bc>value</bc> column headers are added to tables.
@@ -127,11 +131,13 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#addKeyValueTableHeaders()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addKeyValueTableHeaders() default "";
 
 	/**
-	 * Configuration property:  Don't look for URLs in {@link String Strings}.
+	 * Don't look for URLs in {@link String Strings}.
 	 *
 	 * <p>
 	 * Disables the feature where if a string looks like a URL (i.e. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
@@ -175,11 +181,13 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#disableDetectLinksInStrings()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableDetectLinksInStrings() default "";
 
 	/**
-	 * Configuration property:  Link label parameter name.
+	 * Link label parameter name.
 	 *
 	 * <p>
 	 * The parameter name to look for when resolving link labels.
@@ -194,11 +202,13 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#labelParameter(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String labelParameter() default "";
 
 	/**
-	 * Configuration property:  Don't look for link labels in URIs.
+	 * Don't look for link labels in URIs.
 	 *
 	 * <p>
 	 * Disables the feature where if the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
@@ -245,11 +255,13 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#disableDetectLabelParameters()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String disableDetectLabelParameters() default "";
 
 	/**
-	 * Configuration property:  Anchor text source.
+	 * Anchor text source.
 	 *
 	 * <p>
 	 * When creating anchor tags (e.g. <code><xt>&lt;a</xt> <xa>href</xa>=<xs>'...'</xs>
@@ -275,6 +287,8 @@ public @interface HtmlConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlSerializer.Builder#uriAnchorText(AnchorText)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String uriAnchorText() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
index 96b2422f5..2b2755f4b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
@@ -44,6 +44,8 @@ public @interface HtmlDocConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -52,7 +54,7 @@ public @interface HtmlDocConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Aside section contents.
+	 * Aside section contents.
 	 *
 	 * <p>
 	 * Allows you to specify the contents of the aside section on the HTML page.
@@ -94,11 +96,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#aside(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] aside() default {};
 
 	/**
-	 * Configuration property:  Float aside section contents.
+	 * Float aside section contents.
 	 *
 	 * <p>
 	 * Allows you to position the aside contents of the page around the main contents.
@@ -143,11 +147,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#asideFloat(AsideFloat)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String asideFloat() default "DEFAULT";
 
 	/**
-	 * Configuration property:  Footer section contents.
+	 * Footer section contents.
 	 *
 	 * <p>
 	 * Allows you to specify the contents of the footer section on the HTML page.
@@ -183,11 +189,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#footer(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] footer() default {};
 
 	/**
-	 * Configuration property:  Additional head section content.
+	 * Additional head section content.
 	 *
 	 * <p>
 	 * Adds the specified HTML content to the head section of the page.
@@ -221,11 +229,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#head(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] head() default {};
 
 	/**
-	 * Configuration property:  Header section contents.
+	 * Header section contents.
 	 *
 	 * <p>
 	 * Allows you to override the contents of the header section on the HTML page.
@@ -262,11 +272,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#header(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] header() default {};
 
 	/**
-	 * Configuration property:  Nav section contents.
+	 * Nav section contents.
 	 *
 	 * <p>
 	 * Allows you to override the contents of the nav section on the HTML page.
@@ -305,11 +317,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#nav(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] nav() default {};
 
 	/**
-	 * Configuration property:  Page navigation links.
+	 * Page navigation links.
 	 *
 	 * <p>
 	 * Adds a list of hyperlinks immediately under the title and description but above the content of the page.
@@ -367,11 +381,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#navlinks(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] navlinks() default {};
 
 	/**
-	 * Configuration property:  No-results message.
+	 * No-results message.
 	 *
 	 * <p>
 	 * Allows you to specify the string message used when trying to serialize an empty array or empty list.
@@ -396,11 +412,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#noResultsMessage(String)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String noResultsMessage() default "";
 
 	/**
-	 * Configuration property:  Prevent word wrap on page.
+	 * Prevent word wrap on page.
 	 *
 	 * <p>
 	 * Adds <js>"* {white-space:nowrap}"</js> to the CSS instructions on the page to prevent word wrapping.
@@ -420,11 +438,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#nowrap()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String nowrap() default "";
 
 	/**
-	 * Configuration property:  Javascript code.
+	 * Javascript code.
 	 *
 	 * <p>
 	 * Adds the specified Javascript code to the HTML page.
@@ -460,11 +480,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#script(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] script() default {};
 
 	/**
-	 * Configuration property:  CSS style code.
+	 * CSS style code.
 	 *
 	 * <p>
 	 * Adds the specified CSS instructions to the HTML page.
@@ -501,11 +523,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#style(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] style() default {};
 
 	/**
-	 * Configuration property:  Stylesheet import URLs.
+	 * Stylesheet import URLs.
 	 *
 	 * <p>
 	 * Adds a link to the specified stylesheet URL.
@@ -529,11 +553,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#stylesheet(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] stylesheet() default {};
 
 	/**
-	 * Configuration property:  HTML document template.
+	 * HTML document template.
 	 *
 	 * <p>
 	 * Specifies the template to use for serializing the page.
@@ -560,11 +586,13 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.html.HtmlDocSerializer.Builder#template(Class)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HtmlDocTemplate> template() default HtmlDocTemplate.Void.class;
 
 	/**
-	 * Configuration property:  HTML Widgets.
+	 * HTML Widgets.
 	 *
 	 * <p>
 	 * Defines widgets that can be used in conjunction with string variables of the form <js>"$W{name}"</js>to quickly
@@ -606,6 +634,8 @@ public @interface HtmlDocConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jrs.HtmlWidgets}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HtmlWidget>[] widgets() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
index 7407ca363..3e1eb1943 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLink.java
@@ -55,6 +55,8 @@ public @interface HtmlLink {
 
 	/**
 	 * The bean property whose value becomes the name in the hyperlink.
+	 *
+	 * @return The annotation value.
 	 */
 	String nameProperty() default "name";
 
@@ -80,6 +82,8 @@ public @interface HtmlLink {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -92,11 +96,15 @@ public @interface HtmlLink {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
 	/**
 	 * The bean property whose value becomes the url in the hyperlink.
+	 *
+	 * @return The annotation value.
 	 */
 	String uriProperty() default "uri";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
index 069093274..c2b3020a9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
@@ -230,6 +230,8 @@ public class HtmlLinkAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		HtmlLink[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpHeaders.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpHeaders.java
index 7d4ea3d46..a8f6855b7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpHeaders.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HttpHeaders.java
@@ -2578,6 +2578,7 @@ public class HttpHeaders {
 	 * 	<li><c><jk>public</jk> X(String <jv>headerName</jv>, Object <jv>headerValue</jv>)</c>
 	 * </ul>
 	 *
+	 * @param <T> The header implementation class.
 	 * @param type The header implementation class.
 	 * @param name The header name.
 	 * @param value The header value.
@@ -2594,6 +2595,7 @@ public class HttpHeaders {
 	 * Same as {@link #header(Class, String, Object)} but the header name is pulled from the {@link org.apache.juneau.http.annotation.Header#name() @Header(name)} or
 	 * 	{@link org.apache.juneau.http.annotation.Header#value() @Header(value)} annotations.
 	 *
+	 * @param <T> The header implementation class.
 	 * @param type The header implementation class.
 	 * @param value The header value.
 	 * @return A new unmodifiable instance, never <jk>null</jk>.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
index a5dc2e0af..a2a8a8c0b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
@@ -149,6 +149,8 @@ public @interface Body {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -161,6 +163,8 @@ public @interface Body {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -188,6 +192,8 @@ public @interface Body {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/BodyAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/BodyAnnotation.java
index fc78fe699..be7533ebe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/BodyAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/BodyAnnotation.java
@@ -212,6 +212,8 @@ public class BodyAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Body[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Contact.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Contact.java
index 8bda49875..c7d440483 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Contact.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Contact.java
@@ -61,6 +61,8 @@ public @interface Contact {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String email() default "";
 
@@ -76,6 +78,8 @@ public @interface Contact {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -92,6 +96,8 @@ public @interface Contact {
 	 * 		Supports {@doc jrs.SvlVariables}
 	 * 		(e.g. <js>"$L{my.localized.variable}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String url() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ExternalDocs.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ExternalDocs.java
index 66e179646..4608771b7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ExternalDocs.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ExternalDocs.java
@@ -61,6 +61,8 @@ public @interface ExternalDocs {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] description() default {};
 
@@ -78,6 +80,8 @@ public @interface ExternalDocs {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String url() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
index f009c59b8..661e9790c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
@@ -184,6 +184,8 @@ public @interface FormData {
 	 * 	<li>
 	 * 		The format is plain-text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -193,6 +195,8 @@ public @interface FormData {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -205,6 +209,8 @@ public @interface FormData {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -213,6 +219,8 @@ public @interface FormData {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -236,6 +244,8 @@ public @interface FormData {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 
@@ -244,6 +254,8 @@ public @interface FormData {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST client which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 
@@ -261,6 +273,8 @@ public @interface FormData {
 	 * <p class='bjava'>
 	 * 	<jk>public</jk> Order placeOrder(<ja>@FormData</ja>(<js>"petId"</js>) <jk>long</jk> <jv>petId</jv>) {...}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
index c90693ea9..171f5ecc4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
@@ -309,6 +309,8 @@ public class FormDataAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		FormData[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormData.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormData.java
index b3fe3dd34..2c84a4dbe 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormData.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormData.java
@@ -116,6 +116,8 @@ public @interface HasFormData {
 	 * 	<li>
 	 * 		The format is plain-text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -133,6 +135,8 @@ public @interface HasFormData {
 	 * <p class='bjava'>
 	 * 	<jk>public</jk> Order placeOrder(<ja>@HasFormData</ja>(<js>"petId"</js>) <jk>boolean</jk> <jv>hasPetId</jv>) {...}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQuery.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQuery.java
index 6e198c346..2cb8f7721 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQuery.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQuery.java
@@ -111,6 +111,8 @@ public @interface HasQuery {
 	 * 	<li>
 	 * 		The format is plain-text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -128,6 +130,8 @@ public @interface HasQuery {
 	 * <p class='bjava'>
 	 * 	<jk>public</jk> Order placeOrder(<ja>@HasQuery</ja>(<js>"petId"</js>) <jk>boolean</jk> <jv>hasPetId</jv>) {...}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
index 31ce5a775..822be2820 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Header.java
@@ -145,6 +145,8 @@ public @interface Header {
 	 * 		</p>
 	 * 	</li>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -154,6 +156,8 @@ public @interface Header {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -166,6 +170,8 @@ public @interface Header {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -174,6 +180,8 @@ public @interface Header {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -197,6 +205,8 @@ public @interface Header {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 
@@ -205,6 +215,8 @@ public @interface Header {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST client which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 
@@ -222,6 +234,8 @@ public @interface Header {
 	 * <p class='bjava'>
 	 * 	<jk>public</jk> Order placeOrder(<ja>@Header</ja>(<js>"api_key"</js>) String <jv>apiKey</jv>) {...}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
index ae7c7355a..8d4154542 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
@@ -310,6 +310,8 @@ public class HeaderAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Header[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Items.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Items.java
index 680700ab1..1134f83eb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Items.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Items.java
@@ -77,6 +77,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _default() default {};
 
@@ -87,6 +89,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		Each entry is a possible value.  Can also contain comma-delimited lists of values.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _enum() default {};
 
@@ -97,11 +101,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String $ref() default "";
 
 	/**
 	 * Synonym for {@link #collectionFormat()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String cf() default "";
 
@@ -112,26 +120,36 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String collectionFormat() default "";
 
 	/**
 	 * Synonym for {@link #_default()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] df() default {};
 
 	/**
 	 * Synonym for {@link #_enum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] e() default {};
 
 	/**
 	 * Synonym for {@link #exclusiveMaximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emax() default false;
 
 	/**
 	 * Synonym for {@link #exclusiveMinimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emin() default false;
 
@@ -142,6 +160,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMaximum() default false;
 
@@ -152,11 +172,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMinimum() default false;
 
 	/**
 	 * Synonym for {@link #format()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String f() default "";
 
@@ -167,6 +191,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String format() default "";
 
@@ -175,16 +201,22 @@ public @interface Items {
 	 *
 	 * <p>
 	 * Describes the type of items in the array.
+	 *
+	 * @return The annotation value.
 	 */
 	SubItems items() default @SubItems;
 
 	/**
 	 * Synonym for {@link #maximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String max() default "";
 
 	/**
 	 * Synonym for {@link #maxItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxi() default -1;
 
@@ -195,6 +227,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String maximum() default "";
 
@@ -205,11 +239,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxItems() default -1;
 
 	/**
 	 * Synonym for {@link #maxLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxl() default -1;
 
@@ -220,16 +258,22 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxLength() default -1;
 
 	/**
 	 * Synonym for {@link #minimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String min() default "";
 
 	/**
 	 * Synonym for {@link #minItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long mini() default -1;
 
@@ -240,6 +284,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String minimum() default "";
 
@@ -250,11 +296,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minItems() default -1;
 
 	/**
 	 * Synonym for {@link #minLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long minl() default -1;
 
@@ -265,11 +315,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minLength() default -1;
 
 	/**
 	 * Synonym for {@link #multipleOf()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String mo() default "";
 
@@ -280,11 +334,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String multipleOf() default "";
 
 	/**
 	 * Synonym for {@link #pattern()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String p() default "";
 
@@ -295,11 +353,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String pattern() default "";
 
 	/**
 	 * Synonym for {@link #type()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String t() default "";
 
@@ -310,11 +372,15 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String type() default "";
 
 	/**
 	 * Synonym for {@link #uniqueItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean ui() default false;
 
@@ -325,6 +391,8 @@ public @interface Items {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean uniqueItems() default false;
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/License.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/License.java
index a8f786c3d..664be2017 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/License.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/License.java
@@ -57,6 +57,8 @@ public @interface License {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -69,6 +71,8 @@ public @interface License {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String url() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
index de4f21dab..fd3cf0987 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Path.java
@@ -150,6 +150,8 @@ public @interface Path {
 	 * 	<li>
 	 * 		The format is plain-text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -159,6 +161,8 @@ public @interface Path {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -171,6 +175,8 @@ public @interface Path {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -179,6 +185,8 @@ public @interface Path {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -202,6 +210,8 @@ public @interface Path {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 
@@ -210,6 +220,8 @@ public @interface Path {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST client which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 
@@ -229,6 +241,8 @@ public @interface Path {
 	 * 	<ja>@RestGet</ja>(<js>"/pet/{petId}"</js>)
 	 * 	<jk>public</jk> Pet getPet(<ja>@Path</ja>(<js>"petId"</js>) <jk>long</jk> <jv>petId</jv>) { ... }
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
index 744df64f8..32c92609d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
@@ -309,6 +309,8 @@ public class PathAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Path[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
index 518120306..f907cea8e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Query.java
@@ -156,6 +156,8 @@ public @interface Query {
 	 * 	<li>
 	 * 		The format is plain-text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 
@@ -165,6 +167,8 @@ public @interface Query {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -177,6 +181,8 @@ public @interface Query {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -185,6 +191,8 @@ public @interface Query {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -208,6 +216,8 @@ public @interface Query {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 
@@ -216,6 +226,8 @@ public @interface Query {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST client which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 
@@ -233,6 +245,8 @@ public @interface Query {
 	 * <p class='bjava'>
 	 * 	<jk>public</jk> Order placeOrder(<ja>@Query</ja>(<js>"petId"</js>) <jk>long</jk> <jv>petId</jv>) {...}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
index 35fc20ec3..f9fa1d108 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
@@ -309,6 +309,8 @@ public class QueryAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Query[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
index 33a2d8055..3c2040fb5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Request.java
@@ -154,6 +154,8 @@ public @interface Request {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -166,6 +168,8 @@ public @interface Request {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -174,6 +178,8 @@ public @interface Request {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -182,6 +188,8 @@ public @interface Request {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST client which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
index 14d449113..61e3267eb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
@@ -215,6 +215,8 @@ public class RequestAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Request[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
index 76cf08c93..c1571b8ee 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Response.java
@@ -89,6 +89,8 @@ public @interface Response {
 	 * 		Resolution of variables is delayed until request time and occurs before parsing.
 	 * 		<br>This allows you to, for example, pull in a JSON construct from a properties file based on the locale of the HTTP request.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] examples() default {};
 
@@ -100,6 +102,8 @@ public @interface Response {
 	 * 	<li>
 	 * 		Server-side generated Swagger documentation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Header[] headers() default {};
 
@@ -109,6 +113,8 @@ public @interface Response {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -121,6 +127,8 @@ public @interface Response {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -129,6 +137,8 @@ public @interface Response {
 	 *
 	 * <p>
 	 * Overrides for this part the part parser defined on the REST resource which by default is {@link OpenApiParser}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartParser> parser() default HttpPartParser.Void.class;
 
@@ -142,6 +152,8 @@ public @interface Response {
 	 * 	<li>
 	 * 		Server-side generated Swagger documentation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Schema schema() default @Schema;
 
@@ -150,6 +162,8 @@ public @interface Response {
 	 *
 	 * <p>
 	 * Overrides for this part the part serializer defined on the REST resource which by default is {@link OpenApiSerializer}.
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HttpPartSerializer> serializer() default HttpPartSerializer.Void.class;
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
index 8eaa95d0c..d3bdacf89 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
@@ -289,6 +289,8 @@ public class ResponseAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Response[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Schema.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Schema.java
index ab72d28be..fd8a17a94 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Schema.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Schema.java
@@ -109,6 +109,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _default() default {};
 
@@ -146,6 +148,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _enum() default {};
 
@@ -159,6 +163,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		The format is a <a href='https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03'>JSON Reference</a>.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String $ref() default "";
 
@@ -170,6 +176,8 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] additionalProperties() default {};
 
@@ -181,11 +189,15 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] allOf() default {};
 
 	/**
 	 * Synonym for {@link #allowEmptyValue()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean aev() default false;
 
@@ -207,11 +219,15 @@ public @interface Schema {
 	 *
 	 * <p>
 	 * <b>Note:</b>  This is technically only valid for either query or formData parameters, but support is provided anyway for backwards compatability.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean allowEmptyValue() default false;
 
 	/**
 	 * Synonym for {@link #collectionFormat()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String cf() default "";
 
@@ -260,11 +276,15 @@ public @interface Schema {
 	 *
 	 * <p>
 	 * Note that for collections/arrays parameters with POJO element types, the input is broken into a string array before being converted into POJO elements.
+	 *
+	 * @return The annotation value.
 	 */
 	String collectionFormat() default "";
 
 	/**
 	 * Synonym for {@link #description()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] d() default {};
 
@@ -298,11 +318,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] description() default {};
 
 	/**
 	 * Synonym for {@link #_default()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] df() default {};
 
@@ -314,21 +338,29 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String discriminator() default "";
 
 	/**
 	 * Synonym for {@link #_enum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] e() default {};
 
 	/**
 	 * Synonym for {@link #exclusiveMaximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emax() default false;
 
 	/**
 	 * Synonym for {@link #exclusiveMinimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emin() default false;
 
@@ -356,6 +388,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMaximum() default false;
 
@@ -383,6 +417,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMinimum() default false;
 
@@ -394,11 +430,15 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	ExternalDocs externalDocs() default @ExternalDocs;
 
 	/**
 	 * Synonym for {@link #format()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String f() default "";
 
@@ -480,11 +520,15 @@ public @interface Schema {
 	 * <ul class='seealso'>
 	 * 	<li class='extlink'>{@doc ext.SwaggerDataTypeFormats}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String format() default "";
 
 	/**
 	 * Specifies that schema information for this part should not be shown in the generated Swagger documentation.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean ignore() default false;
 
@@ -507,16 +551,22 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing and serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Items items() default @Items;
 
 	/**
 	 * Synonym for {@link #maximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String max() default "";
 
 	/**
 	 * Synonym for {@link #maxItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxi() default -1;
 
@@ -544,6 +594,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String maximum() default "";
 
@@ -570,11 +622,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxItems() default -1;
 
 	/**
 	 * Synonym for {@link #maxLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxl() default -1;
 
@@ -603,11 +659,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxLength() default -1;
 
 	/**
 	 * Synonym for {@link #maxProperties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxp() default -1;
 
@@ -619,16 +679,22 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxProperties() default -1;
 
 	/**
 	 * Synonym for {@link #minimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String min() default "";
 
 	/**
 	 * Synonym for {@link #minItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long mini() default -1;
 
@@ -656,6 +722,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String minimum() default "";
 
@@ -682,11 +750,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minItems() default -1;
 
 	/**
 	 * Synonym for {@link #minLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long minl() default -1;
 
@@ -715,11 +787,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minLength() default -1;
 
 	/**
 	 * Synonym for {@link #minProperties()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long minp() default -1;
 
@@ -731,11 +807,15 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minProperties() default -1;
 
 	/**
 	 * Synonym for {@link #multipleOf()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String mo() default "";
 
@@ -763,6 +843,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String multipleOf() default "";
 
@@ -848,6 +930,8 @@ public @interface Schema {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -860,11 +944,15 @@ public @interface Schema {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
 	/**
 	 * Synonym for {@link #pattern()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String p() default "";
 
@@ -897,6 +985,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String pattern() default "";
 
@@ -908,11 +998,15 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] properties() default {};
 
 	/**
 	 * Synonym for {@link #required()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean r() default false;
 
@@ -924,6 +1018,8 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean readOnly() default false;
 
@@ -964,16 +1060,22 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean required() default false;
 
 	/**
 	 * Synonym for {@link #readOnly()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean ro() default false;
 
 	/**
 	 * Synonym for {@link #skipIfEmpty()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean sie() default false;
 
@@ -988,11 +1090,15 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean skipIfEmpty() default false;
 
 	/**
 	 * Synonym for {@link #type()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String t() default "";
 
@@ -1003,6 +1109,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		The format is plain text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String title() default "";
 
@@ -1077,11 +1185,15 @@ public @interface Schema {
 	 * <ul class='seealso'>
 	 * 	<li class='extlink'>{@doc ext.SwaggerDataTypes}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String type() default "";
 
 	/**
 	 * Synonym for {@link #uniqueItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean ui() default false;
 
@@ -1112,6 +1224,8 @@ public @interface Schema {
 	 * 	<li>
 	 * 		Client-side schema-based serializing validation.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean uniqueItems() default false;
 
@@ -1123,6 +1237,8 @@ public @interface Schema {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] xml() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SchemaAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SchemaAnnotation.java
index f70d410d6..586ebf5ae 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SchemaAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SchemaAnnotation.java
@@ -1252,6 +1252,8 @@ public class SchemaAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Schema[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCode.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCode.java
index 45776471d..4803623ba 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCode.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCode.java
@@ -114,6 +114,8 @@ public @interface StatusCode {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -126,6 +128,8 @@ public @interface StatusCode {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -133,6 +137,8 @@ public @interface StatusCode {
 	 * The HTTP response codes.
 	 *
 	 * The default value is <c>500</c> for exceptions and <c>200</c> for return types.
+	 *
+	 * @return The annotation value.
 	 */
 	int[] value() default {};
 }
\ No newline at end of file
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
index 92463019d..d4ecbfd72 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
@@ -203,6 +203,8 @@ public class StatusCodeAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		StatusCode[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SubItems.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SubItems.java
index 52937c893..da832b8cb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SubItems.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/SubItems.java
@@ -44,6 +44,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _default() default {};
 
@@ -54,6 +56,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] _enum() default {};
 
@@ -64,11 +68,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String $ref() default "";
 
 	/**
 	 * Synonym for {@link #collectionFormat()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String cf() default "";
 
@@ -79,26 +87,36 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String collectionFormat() default "";
 
 	/**
 	 * Synonym for {@link #_default()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] df() default {};
 
 	/**
 	 * Synonym for {@link #_enum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] e() default {};
 
 	/**
 	 * Synonym for {@link #exclusiveMaximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emax() default false;
 
 	/**
 	 * Synonym for {@link #exclusiveMinimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean emin() default false;
 
@@ -109,6 +127,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMaximum() default false;
 
@@ -119,11 +139,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean exclusiveMinimum() default false;
 
 	/**
 	 * Synonym for {@link #format()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String f() default "";
 
@@ -134,6 +158,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String format() default "";
 
@@ -146,16 +172,22 @@ public @interface SubItems {
 	 * <p>
 	 * This is a {@doc jd.Swagger} object.
 	 * <br>It must be declared free-form because it's not possible to nest annotations in Java.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] items() default {};
 
 	/**
 	 * Synonym for {@link #maximum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String max() default "";
 
 	/**
 	 * Synonym for {@link #maxItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxi() default -1;
 
@@ -166,6 +198,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String maximum() default "";
 
@@ -176,11 +210,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxItems() default -1;
 
 	/**
 	 * Synonym for {@link #maxLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long maxl() default -1;
 
@@ -191,16 +229,22 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long maxLength() default -1;
 
 	/**
 	 * Synonym for {@link #minimum()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String min() default "";
 
 	/**
 	 * Synonym for {@link #minItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long mini() default -1;
 
@@ -211,6 +255,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String minimum() default "";
 
@@ -221,11 +267,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minItems() default -1;
 
 	/**
 	 * Synonym for {@link #minLength()}.
+	 *
+	 * @return The annotation value.
 	 */
 	long minl() default -1;
 
@@ -236,11 +286,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	long minLength() default -1;
 
 	/**
 	 * Synonym for {@link #multipleOf()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String mo() default "";
 
@@ -251,11 +305,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String multipleOf() default "";
 
 	/**
 	 * Synonym for {@link #pattern()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String p() default "";
 
@@ -266,11 +324,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String pattern() default "";
 
 	/**
 	 * Synonym for {@link #type()}.
+	 *
+	 * @return The annotation value.
 	 */
 	String t() default "";
 
@@ -281,11 +343,15 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String type() default "";
 
 	/**
 	 * Synonym for {@link #uniqueItems()}.
+	 *
+	 * @return The annotation value.
 	 */
 	boolean ui() default false;
 
@@ -296,6 +362,8 @@ public @interface SubItems {
 	 * 	<li>
 	 * 		The format is a plain-text string.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	boolean uniqueItems() default false;
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Tag.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Tag.java
index abaa391e4..843852bc8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Tag.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Tag.java
@@ -62,6 +62,8 @@ public @interface Tag {
 	 * 	<li>
 	 * 		Supports {@doc jrs.SvlVariables} (e.g. <js>"$L{my.localized.variable}"</js>) for the swagger generator.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] description() default {};
 
@@ -73,6 +75,8 @@ public @interface Tag {
 	 * 		The format is a {@doc jd.Swagger} object.
 	 * 		<br>Multiple lines are concatenated with newlines.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	ExternalDocs externalDocs() default @ExternalDocs;
 
@@ -83,6 +87,8 @@ public @interface Tag {
 	 * 	<li>
 	 * 		The format is plain text.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String name() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
index 953e491d5..f80140deb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
@@ -63,6 +63,7 @@ public class BasicHttpEntity implements HttpEntity {
 	/**
 	 * Creates a builder for this class.
 	 *
+	 * @param <T> The subclass that the builder is going to create.
 	 * @param implClass The subclass that the builder is going to create.
 	 * @return A new builder bean.
 	 */
@@ -153,6 +154,7 @@ public class BasicHttpEntity implements HttpEntity {
 	/**
 	 * Returns the content of this entity.
 	 *
+	 * @param <T> The value type.
 	 * @param def The default value if <jk>null</jk>.
 	 * @return The content object.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/HttpEntityBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/HttpEntityBuilder.java
index 748dfdd1c..b1f338cff 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/HttpEntityBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/entity/HttpEntityBuilder.java
@@ -120,7 +120,7 @@ public class HttpEntityBuilder<T extends BasicHttpEntity> {
 	/**
 	 * Sets the content type on this entity bean.
 	 *
-	 * @param value The new <c>Content-Type</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Type</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -131,7 +131,7 @@ public class HttpEntityBuilder<T extends BasicHttpEntity> {
 	/**
 	 * Sets the content type on this entity bean.
 	 *
-	 * @param value The new <c>Content-Type</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Type</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -155,7 +155,7 @@ public class HttpEntityBuilder<T extends BasicHttpEntity> {
 	/**
 	 * Sets the content encoding header on this entity bean.
 	 *
-	 * @param value The new <c>Content-Encoding</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Encoding</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -166,7 +166,7 @@ public class HttpEntityBuilder<T extends BasicHttpEntity> {
 	/**
 	 * Sets the content encoding header on this entity bean.
 	 *
-	 * @param value The new <c>Content-Encoding</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Encoding</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderBeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderBeanMeta.java
index 2d367c41a..72ea802c3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderBeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderBeanMeta.java
@@ -73,6 +73,7 @@ public class HeaderBeanMeta<T> {
 	/**
 	 * Finds the header bean meta for the specified type.
 	 *
+	 * @param <T> The header bean type.
 	 * @param type The header bean type.
 	 * @return The metadata, or <jk>null</jk> if a valid constructor could not be found.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
index b400f97a0..2a6029893 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/header/HeaderList.java
@@ -39,7 +39,7 @@ import org.apache.juneau.svl.*;
  * 	HeaderList <jv>headers</jv> = HeaderList
  * 		.<jsm>create</jsm>()
  * 		.append(Accept.<jsm>of</jsm>(<js>"text/xml"</js>))
- * 		.append(<js>"Content-Type"</js>, ()-><jsm>getDynamicContentTypeFromSomewhere</jsm>())
+ * 		.append(<js>"Content-Type"</js>, ()-&gt;<jsm>getDynamicContentTypeFromSomewhere</jsm>())
  * 		.build();
  * </p>
  *
@@ -129,7 +129,7 @@ import org.apache.juneau.svl.*;
  * 		.<jsm>create</jsm>()
  * 		.resolving()
  * 		.append(<js>"X1"</js>, <js>"$S{foo}"</js>)
- * 		.append(<js>"X2"</js>, ()-><js>"$S{foo}"</js>)
+ * 		.append(<js>"X2"</js>, ()-&gt;<js>"$S{foo}"</js>)
  * 		.build();
  *
  * 	<jsm>assertObject</jsm>(<jv>headers</jv>).isString(<js>"[X1: bar, X2: bar]"</js>);
@@ -1339,9 +1339,9 @@ public class HeaderList {
 	 * 	BasicIntegerHeader <jv>age</jv> = headerList.get(<js>"Age"</js>, BasicIntegerHeader.<jk>class</jk>);
 	 * </p>
 	 *
+	 * @param <T> The header implementation class.
 	 * @param name The header name.
 	 * @param type The header implementation class.
-
 	 * @return A header with a condensed value or <jk>null</jk> if no headers by the given name are present
 	 */
 	public <T> Optional<T> get(String name, Class<T> type) {
@@ -1389,6 +1389,7 @@ public class HeaderList {
 	 * 	Age <jv>age</jv> = headerList.get(Age.<jk>class</jk>);
 	 * </p>
 	 *
+	 * @param <T> The return type.
 	 * @param type The header implementation class.
 	 * @return A header with a condensed value or <jk>null</jk> if no headers by the given name are present
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartBeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartBeanMeta.java
index 3d3b5583d..40902d943 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartBeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartBeanMeta.java
@@ -74,6 +74,7 @@ public class PartBeanMeta<T> {
 	/**
 	 * Finds the part bean meta for the specified type.
 	 *
+	 * @param <T> The part bean type.
 	 * @param type The part bean type.
 	 * @return The metadata, or <jk>null</jk> if a valid constructor could not be found.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
index 168c43e96..13f83e76a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/part/PartList.java
@@ -39,7 +39,7 @@ import org.apache.juneau.svl.*;
  * 	PartList <jv>parts</jv> = PartList
  * 		.<jsm>create</jsm>()
  * 		.append(MyPart.<jsm>of</jsm>("foo"))
- * 		.append(<js>"Bar"</js>, ()-><jsm>getDynamicValueFromSomewhere</jsm>())
+ * 		.append(<js>"Bar"</js>, ()-&gt;<jsm>getDynamicValueFromSomewhere</jsm>())
  * 		.build();
  * </p>
  *
@@ -129,10 +129,10 @@ import org.apache.juneau.svl.*;
  * 		.<jsm>create</jsm>()
  * 		.resolving()
  * 		.append(<js>"X1"</js>, <js>"$S{foo}"</js>)
- * 		.append(<js>"X2"</js>, ()-><js>"$S{foo}"</js>)
+ * 		.append(<js>"X2"</js>, ()-&gt;<js>"$S{foo}"</js>)
  * 		.build();
  *
- * 	<jsm>assertObject</jsm>(<jv>parts</jv>).isString(<js>"X1=bar&X2=bar"</js>);
+ * 	<jsm>assertObject</jsm>(<jv>parts</jv>).isString(<js>"X1=bar&amp;X2=bar"</js>);
  * </p>
  *
  * <p>
@@ -1321,9 +1321,9 @@ public class PartList {
 	 * 	BasicIntegerPart <jv>age</jv> = <jv>partList</jv>.get(<js>"age"</js>, BasicIntegerPart.<jk>class</jk>);
 	 * </p>
 	 *
+	 * @param <T> The part implementation class.
 	 * @param name The part name.
 	 * @param type The part implementation class.
-
 	 * @return A part with a condensed value or <jk>null</jk> if no parts by the given name are present
 	 */
 	public <T> Optional<T> get(String name, Class<T> type) {
@@ -1370,6 +1370,7 @@ public class PartList {
 	 * 	Age <jv>age</jv> = <jv>partList</jv>.get(Age.<jk>class</jk>);
 	 * </p>
 	 *
+	 * @param <T> The part implementation class.
 	 * @param type The part implementation class.
 	 * @return A part with a condensed value or <jk>null</jk> if no parts by the given name are present
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
index 8a0307dcb..71b4fc44e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/Remote.java
@@ -49,6 +49,8 @@ public @interface Remote {
 	 * 		Supports {@doc jm.DefaultVarResolver}
 	 * 		(e.g. <js>"$P{mySystemProperty}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -63,6 +65,8 @@ public @interface Remote {
 	 * 		Supports {@doc jm.DefaultVarResolver}
 	 * 		(e.g. <js>"$P{mySystemProperty}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] headers() default {};
 
@@ -76,6 +80,8 @@ public @interface Remote {
 	 * 	<li>
 	 * 		Supplier class must provide a public no-arg constructor.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends HeaderList> headerList() default HeaderList.Void.class;
 
@@ -111,6 +117,8 @@ public @interface Remote {
 	 * 		Supports {@doc jm.DefaultVarResolver}
 	 * 		(e.g. <js>"$P{mySystemProperty}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String version() default "";
 
@@ -125,6 +133,8 @@ public @interface Remote {
 	 * 		Supports {@doc jm.DefaultVarResolver}
 	 * 		(e.g. <js>"$P{mySystemProperty}"</js>).
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String versionHeader() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteDelete.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteDelete.java
index 1ba58817c..860eece45 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteDelete.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteDelete.java
@@ -62,6 +62,8 @@ public @interface RemoteDelete {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -100,6 +102,8 @@ public @interface RemoteDelete {
 	 * 			<li><jk>boolean</jk>/<c>Boolean</c> - <jk>true</jk> if the response code is <c>&lt;400</c>
 	 * 		</ul>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	RemoteReturn returns() default RemoteReturn.BODY;
 
@@ -118,6 +122,8 @@ public @interface RemoteDelete {
 	 * 	<jc>// Shortened form</jc>
 	 * 	<ja>@RemoteDelete</ja>(<js>"/{propertyName}"</js>)
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteGet.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteGet.java
index bf0a40b35..de0719a52 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteGet.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteGet.java
@@ -62,6 +62,8 @@ public @interface RemoteGet {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the method name and path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -100,6 +102,8 @@ public @interface RemoteGet {
 	 * 			<li><jk>boolean</jk>/<c>Boolean</c> - <jk>true</jk> if the response code is <c>&lt;400</c>
 	 * 		</ul>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	RemoteReturn returns() default RemoteReturn.BODY;
 
@@ -118,6 +122,8 @@ public @interface RemoteGet {
 	 * 	<jc>// Shortened form</jc>
 	 * 	<ja>@RemoteGet</ja>(<js>"/{propertyName}"</js>)
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteOp.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteOp.java
index edf64a310..9d946ef2d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteOp.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemoteOp.java
@@ -60,6 +60,8 @@ public @interface RemoteOp {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the method name and path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -79,6 +81,8 @@ public @interface RemoteOp {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the method name and path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String method() default "";
 
@@ -117,6 +121,8 @@ public @interface RemoteOp {
 	 * 			<li><jk>boolean</jk>/<c>Boolean</c> - <jk>true</jk> if the response code is <c>&lt;400</c>
 	 * 		</ul>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	RemoteReturn returns() default RemoteReturn.BODY;
 
@@ -140,6 +146,8 @@ public @interface RemoteOp {
 	 * 	<li>
 	 * 		The path portion is optional.
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePost.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePost.java
index 90a7bc413..b9d18e4a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePost.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePost.java
@@ -62,6 +62,8 @@ public @interface RemotePost {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -100,6 +102,8 @@ public @interface RemotePost {
 	 * 			<li><jk>boolean</jk>/<c>Boolean</c> - <jk>true</jk> if the response code is <c>&lt;400</c>
 	 * 		</ul>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	RemoteReturn returns() default RemoteReturn.BODY;
 
@@ -118,6 +122,8 @@ public @interface RemotePost {
 	 * 	<jc>// Shortened form</jc>
 	 * 	<ja>@RemotePost</ja>(<js>"/{propertyName}"</js>)
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePut.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePut.java
index eb3ff25c2..66564ad1d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePut.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/remote/RemotePut.java
@@ -61,6 +61,8 @@ public @interface RemotePut {
 	 *
 	 * <p>
 	 * Note that you can also use {@link #value()} to specify the method name and path in shortened form.
+	 *
+	 * @return The annotation value.
 	 */
 	String path() default "";
 
@@ -99,6 +101,8 @@ public @interface RemotePut {
 	 * 			<li><jk>boolean</jk>/<c>Boolean</c> - <jk>true</jk> if the response code is <c>&lt;400</c>
 	 * 		</ul>
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	RemoteReturn returns() default RemoteReturn.BODY;
 
@@ -117,6 +121,8 @@ public @interface RemotePut {
 	 * 	<jc>// Shortened form</jc>
 	 * 	<ja>@RemotePut</ja>(<js>"/{propertyName}"</js>)
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String value() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/BasicResource.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/BasicResource.java
index bab009424..93d1bd77e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/BasicResource.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/BasicResource.java
@@ -49,6 +49,7 @@ public class BasicResource implements HttpResource {
 	/**
 	 * Creates a builder for this class.
 	 *
+	 * @param <T> The subclass that the builder is going to create.
 	 * @param implClass The subclass that the builder is going to create.
 	 * @param entityImplClass The entity subclass that the builder is going to create.
 	 * @return A new builder bean.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResource.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResource.java
index 439788331..9ea3cc1c1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResource.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResource.java
@@ -29,7 +29,7 @@ import org.apache.juneau.http.header.*;
  * 	<jk>import static</jk> org.apache.juneau.http.HttpResources.*;
  *
  *	<jc>// Create a resource with dynamic content and a no-cache header.</jc>
- * 	HttpResource <jv>myResource</jv> = <jsm>stringResource</jsm>(()-><jsm>getMyContent</jsm>(), ContentType.<jsf>TEXT_PLAIN</jsf>)
+ * 	HttpResource <jv>myResource</jv> = <jsm>stringResource</jsm>(()-&gt;<jsm>getMyContent</jsm>(), ContentType.<jsf>TEXT_PLAIN</jsf>)
  * 		.header(<js>"Cache-Control"</js>, <js>"no-cache"</js>)
  * 		.build();
  * </p>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResourceBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResourceBuilder.java
index 6a42a67c7..3b51cea6a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResourceBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/resource/HttpResourceBuilder.java
@@ -156,7 +156,7 @@ public class HttpResourceBuilder<T extends BasicResource> {
 	/**
 	 * Sets the content type on this entity bean.
 	 *
-	 * @param value The new <c>Content-Type</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Type</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -168,7 +168,7 @@ public class HttpResourceBuilder<T extends BasicResource> {
 	/**
 	 * Sets the content type on this entity bean.
 	 *
-	 * @param value The new <c>Content-Type</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Type</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -192,7 +192,7 @@ public class HttpResourceBuilder<T extends BasicResource> {
 	/**
 	 * Sets the content encoding header on this entity bean.
 	 *
-	 * @param value The new <c>Content-Encoding</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Encoding</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
@@ -204,7 +204,7 @@ public class HttpResourceBuilder<T extends BasicResource> {
 	/**
 	 * Sets the content encoding header on this entity bean.
 	 *
-	 * @param value The new <c>Content-Encoding</ header, or <jk>null</jk> to unset.
+	 * @param value The new <c>Content-Encoding</c> header, or <jk>null</jk> to unset.
 	 * @return This object.
 	 */
 	@FluentSetter
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
index 400029887..5e4460c7a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpException.java
@@ -63,6 +63,7 @@ public class BasicHttpException extends BasicRuntimeException implements HttpRes
 	/**
 	 * Creates a builder for this class.
 	 *
+	 * @param <T> The subclass that the builder is going to create.
 	 * @param implClass The subclass that the builder is going to create.
 	 * @return A new builder bean.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
index 86eab6363..1bb02dcb1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/BasicHttpResponse.java
@@ -57,6 +57,7 @@ public class BasicHttpResponse implements HttpResponse {
 	/**
 	 * Creates a builder for this class.
 	 *
+	 * @param <T> The implementation type.
 	 * @param implClass The subclass that the builder is going to create.
 	 * @return A new builder bean.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Ok.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Ok.java
index ab4d6783c..6e874a042 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Ok.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/response/Ok.java
@@ -48,6 +48,9 @@ public class Ok extends BasicHttpResponse {
 	/** Reusable unmodifiable instance */
 	public static final Ok INSTANCE = create().unmodifiable().build();
 
+	/** Reusable unmodifiable instance */
+	public static final Ok OK = create().unmodifiable().build();
+
 	/**
 	 * Creates a builder for this class.
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/BaseHttpPartParser.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/BaseHttpPartParser.java
index 6e1dc6e18..48f9e560b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/BaseHttpPartParser.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/BaseHttpPartParser.java
@@ -73,6 +73,7 @@ public abstract class BaseHttpPartParser extends BeanContextable implements Http
 	/**
 	 * Converts the specified input to the specified class type.
 	 *
+	 * @param <T> The POJO type to transform the input into.
 	 * @param partType The part type being parsed.
 	 * @param schema
 	 * 	Schema information about the part.
@@ -91,6 +92,7 @@ public abstract class BaseHttpPartParser extends BeanContextable implements Http
 	/**
 	 * Converts the specified input to the specified class type.
 	 *
+	 * @param <T> The POJO type to transform the input into.
 	 * @param partType The part type being parsed.
 	 * @param schema
 	 * 	Schema information about the part.
@@ -109,6 +111,7 @@ public abstract class BaseHttpPartParser extends BeanContextable implements Http
 	/**
 	 * Converts the specified input to the specified class type.
 	 *
+	 * @param <T> The POJO type to transform the input into.
 	 * @param partType The part type being parsed.
 	 * @param schema
 	 * 	Schema information about the part.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
index 5fa677119..564c9bedf 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
@@ -32,6 +32,7 @@ public interface HttpPartParserSession {
 	/**
 	 * Converts the specified input to the specified class type.
 	 *
+	 * @param <T> The POJO type to transform the input into.
 	 * @param partType The part type being parsed.
 	 * @param schema
 	 * 	Schema information about the part.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index d8d63953e..6a20b27a4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -3784,6 +3784,7 @@ public class HttpPartSchema {
 	/**
 	 * Throws a {@link ParseException} if the specified parsed output does not validate against this schema.
 	 *
+	 * @param <T> The return type.
 	 * @param o The parsed output.
 	 * @param bc The bean context used to detect POJO types.
 	 * @return The same object passed in.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayBuilder.java
index eaebefb14..a2935c42b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayBuilder.java
@@ -29,9 +29,9 @@ import java.util.function.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  *
- * @param <T> The array element type.
+ * @param <E> The array element type.
  */
-public final class ArrayBuilder<T> {
+public final class ArrayBuilder<E> {
 
 	//-----------------------------------------------------------------------------------------------------------------
 	// Static
@@ -40,10 +40,11 @@ public final class ArrayBuilder<T> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param elementType The element type.
 	 * @return A new builder object.
 	 */
-	public static <T> ArrayBuilder<T> of(Class<T> elementType) {
+	public static <E> ArrayBuilder<E> of(Class<E> elementType) {
 		return new ArrayBuilder<>(elementType);
 	}
 
@@ -51,18 +52,18 @@ public final class ArrayBuilder<T> {
 	// Instance
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private Predicate<T> filter;
-	private final Class<T> elementType;
+	private Predicate<E> filter;
+	private final Class<E> elementType;
 	private int size = -1;
 	private int i = 0;
-	private List<T> list;
+	private List<E> list;
 
 	/**
 	 * Constructor.
 	 *
 	 * @param elementType The element type.
 	 */
-	public ArrayBuilder(Class<T> elementType) {
+	public ArrayBuilder(Class<E> elementType) {
 		this.elementType = elementType;
 	}
 
@@ -72,7 +73,7 @@ public final class ArrayBuilder<T> {
 	 * @param value The new value for this setting.
 	 * @return This object.
 	 */
-	public ArrayBuilder<T> size(int value) {
+	public ArrayBuilder<E> size(int value) {
 		size = value;
 		return this;
 	}
@@ -83,7 +84,7 @@ public final class ArrayBuilder<T> {
 	 * @param value The new value for this setting.
 	 * @return This object.
 	 */
-	public ArrayBuilder<T> filter(Predicate<T> value) {
+	public ArrayBuilder<E> filter(Predicate<E> value) {
 		filter = value;
 		return this;
 	}
@@ -95,7 +96,7 @@ public final class ArrayBuilder<T> {
 	 * @return This object.
 	 * @throws ArrayIndexOutOfBoundsException if size is exceeded.
 	 */
-	public ArrayBuilder<T> add(T t) {
+	public ArrayBuilder<E> add(E t) {
 		if (passes(filter, t)) {
 			if (list == null)
 				list = size < 0 ? new ArrayList<>() : new ArrayList<>(size);
@@ -112,10 +113,10 @@ public final class ArrayBuilder<T> {
 	 * @return A new array containing the added entries.
 	 */
 	@SuppressWarnings("unchecked")
-	public T[] orElse(T[] def) {
+	public E[] orElse(E[] def) {
 		if (list == null)
 			return def;
-		T[] t = (T[]) Array.newInstance(elementType, list == null ? 0 : list.size());
+		E[] t = (E[]) Array.newInstance(elementType, list == null ? 0 : list.size());
 		if (list != null)
 			list.toArray(t);
 		return t;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayUtils.java
index a3d22b723..bbd1fecf5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ArrayUtils.java
@@ -53,26 +53,27 @@ public final class ArrayUtils {
 	/**
 	 * Combine an arbitrary number of arrays into a single array.
 	 *
+	 * @param <E> The element type.
 	 * @param arrays Collection of arrays to combine.
 	 * @return A new combined array, or <jk>null</jk> if all arrays are <jk>null</jk>.
 	 */
 	@SuppressWarnings("unchecked")
-	public static <T> T[] combine(T[]...arrays) {
+	public static <E> E[] combine(E[]...arrays) {
 		assertArgNotNull("arrays", arrays);
 		int l = 0;
-		T[] a1 = null;
-		for (T[] a : arrays) {
+		E[] a1 = null;
+		for (E[] a : arrays) {
 			if (a1 == null && a != null)
 				a1 = a;
 			l += (a == null ? 0 : a.length);
 		}
 		if (a1 == null)
 			return null;
-		T[] a = (T[])Array.newInstance(a1.getClass().getComponentType(), l);
+		E[] a = (E[])Array.newInstance(a1.getClass().getComponentType(), l);
 		int i = 0;
-		for (T[] aa : arrays)
+		for (E[] aa : arrays)
 			if (aa != null)
-				for (T t : aa)
+				for (E t : aa)
 					a[i++] = t;
 		return a;
 	}
@@ -130,12 +131,13 @@ public final class ArrayUtils {
 	 * <p>
 	 * Works on both object and primitive arrays.
 	 *
+	 * @param <E> The element type.
 	 * @param c The collection to convert to an array.
-	 * @param componentType The component type of the collection.
+	 * @param elementType The component type of the collection.
 	 * @return A new array.
 	 */
-	public static <T> Object toArray(Collection<?> c, Class<T> componentType) {
-		Object a = Array.newInstance(componentType, c.size());
+	public static <E> Object toArray(Collection<?> c, Class<E> elementType) {
+		Object a = Array.newInstance(elementType, c.size());
 		Iterator<?> it = c.iterator();
 		int i = 0;
 		while (it.hasNext())
@@ -156,17 +158,18 @@ public final class ArrayUtils {
 	/**
 	 * Converts the specified array to an <c>ArrayList</c>
 	 *
+	 * @param <E> The element type.
 	 * @param array The array to convert.
-	 * @param componentType
+	 * @param elementType
 	 * 	The type of objects in the array.
 	 * 	It must match the actual component type in the array.
 	 * @return A new {@link ArrayList}
 	 */
 	@SuppressWarnings("unchecked")
-	public static <T> List<T> toList(Object array, Class<T> componentType) {
-		List<T> l = new ArrayList<>(Array.getLength(array));
+	public static <E> List<E> toList(Object array, Class<E> elementType) {
+		List<E> l = new ArrayList<>(Array.getLength(array));
 		for (int i = 0; i < Array.getLength(array); i++)
-			l.add((T)Array.get(array, i));
+			l.add((E)Array.get(array, i));
 		return l;
 	}
 
@@ -318,12 +321,13 @@ public final class ArrayUtils {
 	/**
 	 * Reverses the entries in an array.
 	 *
+	 * @param <E> The element type.
 	 * @param array The array to reverse.
 	 * @return The same array.
 	 */
-	public static final <T> T[] reverse(T[] array) {
+	public static final <E> E[] reverse(E[] array) {
 		for (int i = 0; i < array.length / 2; i++) {
-			T temp = array[i];
+			E temp = array[i];
 			array[i] = array[array.length - i - 1];
 			array[array.length - i - 1] = temp;
 		}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/BiMap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/BiMap.java
new file mode 100644
index 000000000..212ec961c
--- /dev/null
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/BiMap.java
@@ -0,0 +1,186 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                                                              *
+// *                                                                                                                         *
+// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
+// *                                                                                                                         *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the License.                                              *
+// ***************************************************************************************************************************
+package org.apache.juneau.internal;
+
+import static java.util.Collections.*;
+import static java.util.stream.Collectors.*;
+
+import java.util.*;
+
+import org.apache.juneau.utils.*;
+
+/**
+ * A linked hashmap with reverse key lookup by value.
+ *
+ * @param <K> The key type.
+ * @param <V> The value type.
+ */
+public class BiMap<K,V> implements Map<K,V> {
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Static
+	//-----------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * Create a new builder for this class.
+	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
+	 * @return A new builder.
+	 */
+	public static <K,V> Builder<K,V> create() {
+		return new Builder<>();
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Builder
+	//-----------------------------------------------------------------------------------------------------------------
+
+	/**
+	 * Builder class.
+	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
+	 */
+	public static class Builder<K,V> {
+		final HashMap<K,V> map = new LinkedHashMap<>();
+		boolean unmodifiable;
+
+		/**
+		 * Adds a value to this map.
+		 *
+		 * @param key The key.
+		 * @param value The value.
+		 * @return This object.
+		 */
+		public Builder<K,V> add(K key, V value) {
+			map.put(key, value);
+			return this;
+		}
+
+		/**
+		 * Makes this map unmodifiable.
+		 *
+		 * @return This object.
+		 */
+		public Builder<K,V> unmodifiable() {
+			unmodifiable = true;
+			return this;
+		}
+
+		/**
+		 * Build the differences.
+		 *
+		 * @return A new {@link BeanDiff} object.
+		 */
+		public BiMap<K,V> build() {
+			return new BiMap<>(this);
+		}
+
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Instance
+	//-----------------------------------------------------------------------------------------------------------------
+
+	private final Map<K,V> forward;
+	private final Map<V,K> reverse;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param builder The builder for this object.
+	 */
+	public BiMap(Builder<K,V> builder) {
+		Map<K,V> forward = builder.map.entrySet().stream().filter(x -> x.getKey() != null && x.getValue() != null).collect(toMap(Map.Entry::getKey, Map.Entry::getValue));
+		Map<V,K> reverse = builder.map.entrySet().stream().filter(x -> x.getKey() != null && x.getValue() != null).collect(toMap(Map.Entry::getValue, Map.Entry::getKey));
+		this.forward = builder.unmodifiable ? unmodifiableMap(forward) : forward;
+		this.reverse = builder.unmodifiable ? unmodifiableMap(reverse) : reverse;
+	}
+
+	/**
+	 * Gets the key that is currently mapped to the specified value.
+	 *
+	 * @param value The value to return.
+	 * @return The key matching the value.
+	 */
+	public K getKey(V value) {
+		return reverse.get(value);
+	}
+
+
+	@Override /* Map */
+	public int size() {
+		return forward.size();
+	}
+
+	@Override /* Map */
+	public boolean isEmpty() {
+		return forward.isEmpty();
+	}
+
+	@Override /* Map */
+	public boolean containsKey(Object key) {
+		return forward.containsKey(key);
+	}
+
+	@Override /* Map */
+	public boolean containsValue(Object value) {
+		return reverse.containsKey(value);
+	}
+
+	@Override /* Map */
+	public V get(Object key) {
+		return forward.get(key);
+	}
+
+	@Override /* Map */
+	public V put(K key, V value) {
+		reverse.put(value, key);
+		return forward.put(key, value);
+	}
+
+	@Override /* Map */
+	public V remove(Object key) {
+		V value = forward.remove(key);
+		reverse.remove(value);
+		return value;
+	}
+
+	@Override /* Map */
+	public void putAll(Map<? extends K,? extends V> m) {
+		forward.putAll(m);
+		m.entrySet().forEach(x -> reverse.put(x.getValue(), x.getKey()));
+	}
+
+	@Override /* Map */
+	public void clear() {
+		forward.clear();
+		reverse.clear();
+	}
+
+	@Override /* Map */
+	public Set<K> keySet() {
+		return forward.keySet();
+	}
+
+	@Override /* Map */
+	public Collection<V> values() {
+		return forward.values();
+	}
+
+	@Override /* Map */
+	public Set<Entry<K,V>> entrySet() {
+		return forward.entrySet();
+	}
+}
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 35f8de405..80e3d3b6c 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
@@ -28,26 +28,30 @@ public final class CollectionUtils {
 	/**
 	 * Creates a new set from the specified collection.
 	 *
+	 * @param <E> The element type.
 	 * @param val The value to copy from.
 	 * @return A new {@link LinkedHashSet}, or <jk>null</jk> if the input was null.
 	 */
-	public static <T> Set<T> setFrom(Collection<T> val) {
+	public static <E> Set<E> setFrom(Collection<E> val) {
 		return val == null ? null : new LinkedHashSet<>(val);
 	}
 
 	/**
 	 * Creates a new set from the specified collection.
 	 *
+	 * @param <E> The element type.
 	 * @param val The value to copy from.
 	 * @return A new {@link LinkedHashSet}, or <jk>null</jk> if the input was null.
 	 */
-	public static <T> Set<T> copyOf(Set<T> val) {
+	public static <E> Set<E> copyOf(Set<E> val) {
 		return val == null ? null : new LinkedHashSet<>(val);
 	}
 
 	/**
 	 * Creates a new map from the specified map.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param val The value to copy from.
 	 * @return A new {@link LinkedHashMap}, or <jk>null</jk> if the input was null.
 	 */
@@ -58,6 +62,8 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder on top of the specified map.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param addTo The map to add to.
 	 * @return A new builder on top of the specified map.
 	 */
@@ -68,6 +74,8 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder of the specified map type.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param keyType The key type.
 	 * @param valueType The value type.
 	 * @param valueTypeArgs The value type args.
@@ -80,6 +88,7 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder on top of the specified list.
 	 *
+	 * @param <E> The element type.
 	 * @param addTo The list to add to.
 	 * @return A new builder on top of the specified list.
 	 */
@@ -90,6 +99,7 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder of the specified list type.
 	 *
+	 * @param <E> The element type.
 	 * @param elementType The element type.
 	 * @param elementTypeArgs The element type args.
 	 * @return A new builder on top of the specified list.
@@ -101,6 +111,7 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder on top of the specified set.
 	 *
+	 * @param <E> The element type.
 	 * @param addTo The set to add to.
 	 * @return A new builder on top of the specified set.
 	 */
@@ -111,6 +122,7 @@ public final class CollectionUtils {
 	/**
 	 * Instantiates a new builder of the specified set.
 	 *
+	 * @param <E> The element type.
 	 * @param elementType The element type.
 	 * @param elementTypeArgs The element type args.
 	 * @return A new builder on top of the specified set.
@@ -122,22 +134,24 @@ public final class CollectionUtils {
 	/**
 	 * Simple passthrough to {@link Collections#emptyList()}
 	 *
+	 * @param <E> The element type.
 	 * @return A new unmodifiable empty list.
 	 */
-	public static <T> List<T> emptyList() {
+	public static <E> List<E> emptyList() {
 		return Collections.emptyList();
 	}
 
 	/**
 	 * Convenience method for creating an {@link ArrayList}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the list with.
 	 * @return A new modifiable list.
 	 */
 	@SafeVarargs
-	public static <T> ArrayList<T> list(T...values) {
-		ArrayList<T> l = new ArrayList<>(values.length);
-		for (T v : values)
+	public static <E> ArrayList<E> list(E...values) {
+		ArrayList<E> l = new ArrayList<>(values.length);
+		for (E v : values)
 			l.add(v);
 		return l;
 	}
@@ -145,23 +159,25 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating an {@link ArrayList} of the specified size.
 	 *
+	 * @param <E> The element type.
 	 * @param size The initial size of the list.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> list(int size) {
+	public static <E> ArrayList<E> list(int size) {
 		return new ArrayList<>(size);
 	}
 
 	/**
 	 * Convenience method for creating a {@link LinkedList}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the list with.
 	 * @return A new modifiable list.
 	 */
 	@SafeVarargs
-	public static <T> LinkedList<T> linkedList(T...values) {
-		LinkedList<T> l = new LinkedList<>();
-		for (T v : values)
+	public static <E> LinkedList<E> linkedList(E...values) {
+		LinkedList<E> l = new LinkedList<>();
+		for (E v : values)
 			l.add(v);
 		return l;
 	}
@@ -169,11 +185,12 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating an array-backed list by calling {@link Arrays#asList(Object...)}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the list with.
 	 * @return A new modifiable list, or <jk>null</jk> if the array was <jk>null</jk>.
 	 */
 	@SafeVarargs
-	public static <T> List<T> alist(T...values) {
+	public static <E> List<E> alist(E...values) {
 		if (values == null)
 			return null;
 		return Arrays.asList(values);
@@ -182,16 +199,19 @@ public final class CollectionUtils {
 	/**
 	 * Creates an {@link ArrayList} copy from a collection.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to copy from.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> listFrom(Collection<T> value) {
+	public static <E> ArrayList<E> listFrom(Collection<E> value) {
 		return listFrom(value, false);
 	}
 
 	/**
 	 * Creates an {@link ArrayList} copy from a collection.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value The collection to copy from.
 	 * @return A new modifiable list.
 	 */
@@ -204,14 +224,15 @@ public final class CollectionUtils {
 	/**
 	 * Creates an {@link ArrayList} copy from a collection.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to copy from.
 	 * @param nullIfEmpty If <jk>true</jk> will return <jk>null</jk> if the collection is empty.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> listFrom(Collection<T> value, boolean nullIfEmpty) {
+	public static <E> ArrayList<E> listFrom(Collection<E> value, boolean nullIfEmpty) {
 		if (value == null || (nullIfEmpty && value.isEmpty()))
 			return null;
-		ArrayList<T> l = new ArrayList<>();
+		ArrayList<E> l = new ArrayList<>();
 		value.forEach(x -> l.add(x));
 		return l;
 	}
@@ -219,13 +240,14 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link LinkedHashSet}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the set with.
 	 * @return A new modifiable set.
 	 */
 	@SafeVarargs
-	public static <T> LinkedHashSet<T> set(T...values) {
-		LinkedHashSet<T> l = new LinkedHashSet<>();
-		for (T v : values)
+	public static <E> LinkedHashSet<E> set(E...values) {
+		LinkedHashSet<E> l = new LinkedHashSet<>();
+		for (E v : values)
 			l.add(v);
 		return l;
 	}
@@ -233,22 +255,24 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating an unmodifiable {@link LinkedHashSet}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the set with.
 	 * @return A new unmodifiable set.
 	 */
 	@SafeVarargs
-	public static <T> Set<T> uset(T...values) {
+	public static <E> Set<E> uset(E...values) {
 		return unmodifiable(set(values));
 	}
 
 	/**
 	 * Convenience method for creating an unmodifiable list.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the list with.
 	 * @return A new unmodifiable list, or <jk>null</jk> if the array was <jk>null</jk>.
 	 */
 	@SafeVarargs
-	public static <T> List<T> ulist(T...values) {
+	public static <E> List<E> ulist(E...values) {
 		if (values == null)
 			return null;
 		return unmodifiable(alist(values));
@@ -257,13 +281,14 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link TreeSet}.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the set with.
 	 * @return A new modifiable set.
 	 */
 	@SafeVarargs
-	public static <T> TreeSet<T> sortedSet(T...values) {
-		TreeSet<T> l = new TreeSet<>();
-		for (T v : values)
+	public static <E> TreeSet<E> sortedSet(E...values) {
+		TreeSet<E> l = new TreeSet<>();
+		for (E v : values)
 			l.add(v);
 		return l;
 	}
@@ -271,13 +296,14 @@ public final class CollectionUtils {
 	/**
 	 * Creates a new {@link TreeSet} from the specified collection.
 	 *
+	 * @param <E> The element type.
 	 * @param value The value to copy from.
 	 * @return A new {@link TreeSet}, or <jk>null</jk> if the input was null.
 	 */
-	public static <T> TreeSet<T> sortedSetFrom(Collection<T> value) {
+	public static <E> TreeSet<E> sortedSetFrom(Collection<E> value) {
 		if (value == null)
 			return null;
-		TreeSet<T> l = new TreeSet<>();
+		TreeSet<E> l = new TreeSet<>();
 		value.forEach(x -> l.add(x));
 		return l;
 	}
@@ -285,14 +311,15 @@ public final class CollectionUtils {
 	/**
 	 * Creates a new {@link TreeSet} from the specified collection.
 	 *
+	 * @param <E> The element type.
 	 * @param value The value to copy from.
 	 * @param nullIfEmpty If <jk>true</jk> returns <jk>null</jk> if the collection is empty.
 	 * @return A new {@link TreeSet}, or <jk>null</jk> if the input was null.
 	 */
-	public static <T> TreeSet<T> sortedSetFrom(Collection<T> value, boolean nullIfEmpty) {
+	public static <E> TreeSet<E> sortedSetFrom(Collection<E> value, boolean nullIfEmpty) {
 		if (value == null || (nullIfEmpty && value.isEmpty()))
 			return null;
-		TreeSet<T> l = new TreeSet<>();
+		TreeSet<E> l = new TreeSet<>();
 		value.forEach(x -> l.add(x));
 		return l;
 	}
@@ -300,6 +327,8 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link LinkedHashMap}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @return A new modifiable map.
 	 */
 	public static <K,V> LinkedHashMap<K,V> map() {
@@ -310,6 +339,8 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link LinkedHashMap}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param k1 Key 1.
 	 * @param v1 Value 1.
 	 * @return A new modifiable map.
@@ -323,6 +354,8 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link LinkedHashMap}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param k1 Key 1.
 	 * @param v1 Value 1.
 	 * @param k2 Key 2.
@@ -339,6 +372,8 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link LinkedHashMap}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param k1 Key 1.
 	 * @param v1 Value 1.
 	 * @param k2 Key 2.
@@ -358,6 +393,8 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating a {@link TreeMap}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @return A new modifiable set.
 	 */
 	public static <K,V> TreeMap<K,V> sortedMap() {
@@ -367,23 +404,25 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for copying a list.
 	 *
+	 * @param <E> The element type.
 	 * @param value The list to copy.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> copyOf(List<T> value) {
+	public static <E> ArrayList<E> copyOf(List<E> value) {
 		return value == null ? null : new ArrayList<>(value);
 	}
 
 	/**
 	 * Convenience method for creating an {@link ArrayList} and sorting it.
 	 *
+	 * @param <E> The element type.
 	 * @param values The values to initialize the list with.
 	 * @return A new modifiable list.
 	 */
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	@SafeVarargs
-	public static <T> ArrayList<T> sortedList(T...values) {
-		ArrayList<T> l = list(values);
+	public static <E> ArrayList<E> sortedList(E...values) {
+		ArrayList<E> l = list(values);
 		Collections.sort((List<Comparable>) l);
 		return l;
 	}
@@ -391,12 +430,13 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating an {@link ArrayList} and sorting it.
 	 *
+	 * @param <E> The element type.
 	 * @param comparator The comparator to use to sort the list.
 	 * @param values The values to initialize the list with.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> sortedList(Comparator<T> comparator, T[] values) {
-		ArrayList<T> l = list(values);
+	public static <E> ArrayList<E> sortedList(Comparator<E> comparator, E[] values) {
+		ArrayList<E> l = list(values);
 		Collections.sort(l, comparator);
 		return l;
 	}
@@ -404,12 +444,13 @@ public final class CollectionUtils {
 	/**
 	 * Convenience method for creating an {@link ArrayList} and sorting it.
 	 *
+	 * @param <E> The element type.
 	 * @param comparator The comparator to use to sort the list.
 	 * @param value The values to initialize the list with.
 	 * @return A new modifiable list.
 	 */
-	public static <T> ArrayList<T> sortedList(Comparator<T> comparator, Collection<T> value) {
-		ArrayList<T> l = listFrom(value);
+	public static <E> ArrayList<E> sortedList(Comparator<E> comparator, Collection<E> value) {
+		ArrayList<E> l = listFrom(value);
 		Collections.sort(l, comparator);
 		return l;
 	}
@@ -417,26 +458,30 @@ public final class CollectionUtils {
 	/**
 	 * Wraps the specified list in {@link Collections#unmodifiableList(List)}.
 	 *
+	 * @param <E> The element type.
 	 * @param value The list to wrap.
 	 * @return The wrapped list.
 	 */
-	public static <T> List<T> unmodifiable(List<T> value) {
+	public static <E> List<E> unmodifiable(List<E> value) {
 		return value == null ? null: Collections.unmodifiableList(value);
 	}
 
 	/**
 	 * Wraps the specified set in {@link Collections#unmodifiableSet(Set)}.
 	 *
+	 * @param <E> The element type.
 	 * @param value The set to wrap.
 	 * @return The wrapped set.
 	 */
-	public static <T> Set<T> unmodifiable(Set<T> value) {
+	public static <E> Set<E> unmodifiable(Set<E> value) {
 		return value == null ? null: Collections.unmodifiableSet(value);
 	}
 
 	/**
 	 * Wraps the specified map in {@link Collections#unmodifiableMap(Map)}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value The map to wrap.
 	 * @return The wrapped map.
 	 */
@@ -447,26 +492,30 @@ public final class CollectionUtils {
 	/**
 	 * Wraps the specified list in {@link Collections#unmodifiableList(List)}.
 	 *
+	 * @param <E> The element type.
 	 * @param value The list to wrap.
 	 * @return The wrapped list.
 	 */
-	public static <T> List<T> synced(List<T> value) {
+	public static <E> List<E> synced(List<E> value) {
 		return value == null ? null: Collections.synchronizedList(value);
 	}
 
 	/**
 	 * Wraps the specified set in {@link Collections#unmodifiableSet(Set)}.
 	 *
+	 * @param <E> The element type.
 	 * @param value The set to wrap.
 	 * @return The wrapped set.
 	 */
-	public static <T> Set<T> synced(Set<T> value) {
+	public static <E> Set<E> synced(Set<E> value) {
 		return value == null ? null: Collections.synchronizedSet(value);
 	}
 
 	/**
 	 * Wraps the specified map in {@link Collections#unmodifiableMap(Map)}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value The map to wrap.
 	 * @return The wrapped map.
 	 */
@@ -477,30 +526,32 @@ public final class CollectionUtils {
 	/**
 	 * Converts the specified collection to an array.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to convert.
 	 * @param componentType The component type of the array.
 	 * @return A new array.
 	 */
 	@SuppressWarnings("unchecked")
-	public static <T> T[] array(Collection<T> value, Class<T> componentType) {
+	public static <E> E[] array(Collection<E> value, Class<E> componentType) {
 		if (value == null)
 			return null;
-		T[] array = (T[])Array.newInstance(componentType, value.size());
+		E[] array = (E[])Array.newInstance(componentType, value.size());
 		return value.toArray(array);
 	}
 
 	/**
 	 * Iterates the specified list in reverse order.
 	 *
+	 * @param <E> The element type.
 	 * @param value The list to iterate.
 	 * @param action The action to perform.
 	 */
-	public static <T> void forEachReverse(List<T> value, Consumer<T> action) {
+	public static <E> void forEachReverse(List<E> value, Consumer<E> action) {
 		if (value instanceof ArrayList) {
 			for (int i = value.size()-1; i >= 0; i--)
 				action.accept(value.get(i));
 		} else {
-			ListIterator<T> i = value.listIterator(value.size());
+			ListIterator<E> i = value.listIterator(value.size());
 			while (i.hasPrevious())
 				action.accept(i.previous());
 		}
@@ -509,10 +560,11 @@ public final class CollectionUtils {
 	/**
 	 * Iterates the specified array in reverse order.
 	 *
+	 * @param <E> The element type.
 	 * @param value The array to iterate.
 	 * @param action The action to perform.
 	 */
-	public static <T> void forEachReverse(T[] value, Consumer<T> action) {
+	public static <E> void forEachReverse(E[] value, Consumer<E> action) {
 		for (int i = value.length-1; i >= 0; i--)
 			action.accept(value[i]);
 	}
@@ -521,12 +573,13 @@ public final class CollectionUtils {
 	 * Adds all the specified values to the specified collection.
 	 * Creates a new set if the value is <jk>null</jk>.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to add to.
 	 * @param entries The entries to add.
 	 * @return The set.
 	 */
 	@SafeVarargs
-	public static <T> Set<T> addAll(Set<T> value, T...entries) {
+	public static <E> Set<E> addAll(Set<E> value, E...entries) {
 		if (entries != null) {
 			if (value == null)
 				value = set(entries);
@@ -540,12 +593,13 @@ public final class CollectionUtils {
 	 * Adds all the specified values to the specified collection.
 	 * Creates a new set if the value is <jk>null</jk>.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to add to.
 	 * @param entries The entries to add.
 	 * @return The set.
 	 */
 	@SafeVarargs
-	public static <T> SortedSet<T> addAll(SortedSet<T> value, T...entries) {
+	public static <E> SortedSet<E> addAll(SortedSet<E> value, E...entries) {
 		if (entries != null) {
 			if (value == null)
 				value = sortedSet(entries);
@@ -559,12 +613,13 @@ public final class CollectionUtils {
 	 * Adds all the specified values to the specified collection.
 	 * Creates a new set if the value is <jk>null</jk>.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to add to.
 	 * @param entries The entries to add.
 	 * @return The set.
 	 */
 	@SafeVarargs
-	public static <T> List<T> addAll(List<T> value, T...entries) {
+	public static <E> List<E> addAll(List<E> value, E...entries) {
 		if (entries != null) {
 			if (value == null)
 				value = list(entries);
@@ -578,12 +633,13 @@ public final class CollectionUtils {
 	 * Adds all the specified values to the specified collection.
 	 * Creates a new set if the value is <jk>null</jk>.
 	 *
+	 * @param <E> The element type.
 	 * @param value The collection to add to.
 	 * @param entries The entries to add.
 	 * @return The set.
 	 */
 	@SafeVarargs
-	public static <T> List<T> prependAll(List<T> value, T...entries) {
+	public static <E> List<E> prependAll(List<E> value, E...entries) {
 		if (entries != null) {
 			if (value == null)
 				value = list(entries);
@@ -596,11 +652,11 @@ public final class CollectionUtils {
 	/**
 	 * Returns the last entry in a list.
 	 *
-	 * @param <T> The element type.
+	 * @param <E> The element type.
 	 * @param l The list.
 	 * @return The last element, or <jk>null</jk> if the list is <jk>null</jk> or empty.
 	 */
-	public static <T> T last(List<T> l) {
+	public static <E> E last(List<E> l) {
 		if (l == null || l.isEmpty())
 			return null;
 		return l.get(l.size()-1);
@@ -609,11 +665,11 @@ public final class CollectionUtils {
 	/**
 	 * Returns the last entry in an array.
 	 *
-	 * @param <T> The element type.
+	 * @param <E> The element type.
 	 * @param l The array.
 	 * @return The last element, or <jk>null</jk> if the array is <jk>null</jk> or empty.
 	 */
-	public static <T> T last(T[] l) {
+	public static <E> E last(E[] l) {
 		if (l == null || l.length == 0)
 			return null;
 		return l[l.length-1];
@@ -622,6 +678,7 @@ public final class CollectionUtils {
 	/**
 	 * Returns an optional of the specified value.
 	 *
+	 * @param <T> The component type.
 	 * @param value The value.
 	 * @return A new Optional.
 	 */
@@ -632,6 +689,7 @@ public final class CollectionUtils {
 	/**
 	 * Returns an empty {@link Optional}.
 	 *
+	 * @param <T> The component type.
 	 * @return An empty {@link Optional}.
 	 */
 	public static <T> Optional<T> empty() {
@@ -641,6 +699,7 @@ public final class CollectionUtils {
 	/**
 	 * Returns <jk>true</jk> if the specified collection is not <jk>null</jk> and not empty.
 	 *
+	 * @param <E> The element type.
 	 * @param value The value being checked.
 	 * @return <jk>true</jk> if the specified collection is not <jk>null</jk> and not empty.
 	 */
@@ -651,6 +710,8 @@ public final class CollectionUtils {
 	/**
 	 * Returns <jk>true</jk> if the specified map is not <jk>null</jk> and not empty.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param value The value being checked.
 	 * @return <jk>true</jk> if the specified map is not <jk>null</jk> and not empty.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConsumerUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConsumerUtils.java
index b6f0397f2..417ba8325 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConsumerUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ConsumerUtils.java
@@ -22,6 +22,7 @@ public final class ConsumerUtils {
 	/**
 	 * Returns <jk>true</jk> if the specified predicate is <jk>null</jk> or matches the specified value.
 
+	 * @param <T> The type being tested.
 	 * @param predicate The predicate.
 	 * @param value The value to test.
 	 * @return <jk>true</jk> if the specified predicate is <jk>null</jk> or matches the specified value.
@@ -33,6 +34,7 @@ public final class ConsumerUtils {
 	/**
 	 * Returns <jk>true</jk> if the specified object is the specified type and the specified predicate is <jk>null</jk> or matches the specified value.
 	 *
+	 * @param <T> The type being tested.
 	 * @param type The expected type.
 	 * @param predicate The predicate.
 	 * @param value The value.
@@ -45,6 +47,7 @@ public final class ConsumerUtils {
 	/**
 	 * Consumes the specified value if the predicate is <jk>null</jk> or matches the specified value.
 	 *
+	 * @param <T> The type being consumed.
 	 * @param predicate The predicate.
 	 * @param consumer The consumer.
 	 * @param value The value.
@@ -57,6 +60,7 @@ public final class ConsumerUtils {
 	/**
 	 * Consumes the specified value if it's the specified type and the predicate is <jk>null</jk> or matches the specified value.
 	 *
+	 * @param <T> The type being consumed.
 	 * @param type The expected type.
 	 * @param predicate The predicate.
 	 * @param consumer The consumer.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
index 5b4d74cac..4772bb738 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DateUtils.java
@@ -150,14 +150,14 @@ public final class DateUtils {
 	 * Pads out an ISO8601 string so that it can be parsed using {@link DatatypeConverter#parseDateTime(String)}.
 	 *
 	 * <ul>
-	 * 	<li><js>"2001-07-04T15:30:45-05:00"</js> --> <js>"2001-07-04T15:30:45-05:00"</js>
-	 * 	<li><js>"2001-07-04T15:30:45Z"</js> --> <js>"2001-07-04T15:30:45Z"</js>
-	 * 	<li><js>"2001-07-04T15:30:45.1Z"</js> --> <js>"2001-07-04T15:30:45.1Z"</js>
-	 * 	<li><js>"2001-07-04T15:30Z"</js> --> <js>"2001-07-04T15:30:00Z"</js>
-	 * 	<li><js>"2001-07-04T15:30"</js> --> <js>"2001-07-04T15:30:00"</js>
-	 * 	<li><js>"2001-07-04"</js> --> <li><js>"2001-07-04T00:00:00"</js>
-	 * 	<li><js>"2001-07"</js> --> <js>"2001-07-01T00:00:00"</js>
-	 * 	<li><js>"2001"</js> --> <js>"2001-01-01T00:00:00"</js>
+	 * 	<li><js>"2001-07-04T15:30:45-05:00"</js> -&gt; <js>"2001-07-04T15:30:45-05:00"</js>
+	 * 	<li><js>"2001-07-04T15:30:45Z"</js> -&gt; <js>"2001-07-04T15:30:45Z"</js>
+	 * 	<li><js>"2001-07-04T15:30:45.1Z"</js> -&gt; <js>"2001-07-04T15:30:45.1Z"</js>
+	 * 	<li><js>"2001-07-04T15:30Z"</js> -&gt; <js>"2001-07-04T15:30:00Z"</js>
+	 * 	<li><js>"2001-07-04T15:30"</js> -&gt; <js>"2001-07-04T15:30:00"</js>
+	 * 	<li><js>"2001-07-04"</js> -&gt; <li><js>"2001-07-04T00:00:00"</js>
+	 * 	<li><js>"2001-07"</js> -&gt; <js>"2001-07-01T00:00:00"</js>
+	 * 	<li><js>"2001"</js> -&gt; <js>"2001-01-01T00:00:00"</js>
 	 * </ul>
 	 *
 	 * @param in The string to pad.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/FluentSetters.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/FluentSetters.java
index 9d01f2c5a..778304b7e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/FluentSetters.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/FluentSetters.java
@@ -31,11 +31,15 @@ public @interface FluentSetters {
 
 	/**
 	 * Overrides the return type on the child methods.
+	 *
+	 * @return The annotation value.
 	 */
 	String returns() default "";
 
 	/**
 	 * Specifies method signatures to ignore.
+	 *
+	 * @return The annotation value.
 	 */
 	String[] ignore() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ListBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ListBuilder.java
index 485498ceb..3642ba6e9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ListBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ListBuilder.java
@@ -41,6 +41,7 @@ public final class ListBuilder<E> {
 	/**
 	 * Static creator.
 	 *
+	 * @param <E> The element type.
 	 * @param elementType The element type.
 	 * @param elementTypeArgs Optional element type arguments.
 	 * @return A new builder.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
index 966f8ab6f..5448250c2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ObjectUtils.java
@@ -33,6 +33,7 @@ public class ObjectUtils {
 	/**
 	 * If the specified object is an instance of the specified class, casts it to that type.
 	 *
+	 * @param <T> The class to cast to.
 	 * @param o The object to cast.
 	 * @param c The class to cast to.
 	 * @return The cast object, or <jk>null</jk> if the object wasn't an instance of the specified class.
@@ -108,6 +109,7 @@ public class ObjectUtils {
 	/**
 	 * Tests two objects for equality, gracefully handling nulls and arrays.
 	 *
+	 * @param <T> The value types.
 	 * @param o1 Object 1.
 	 * @param o2 Object 2.
 	 * @return <jk>true</jk> if both objects are equal based on the {@link Object#equals(Object)} method.
@@ -128,6 +130,7 @@ public class ObjectUtils {
 	/**
 	 * Tests two arrays for equality, gracefully handling nulls.
 	 *
+	 * @param <T> The value types.
 	 * @param o1 Array 1.
 	 * @param o2 Array 2.
 	 * @return <jk>true</jk> if both arrays are equal based on the {@link Object#equals(Object)} method on each element.
@@ -229,6 +232,7 @@ public class ObjectUtils {
 	/**
 	 * Returns the first non-null value in the specified array
 	 *
+	 * @param <T> The value types.
 	 * @param t The values to check.
 	 * @return The first non-null value, or <jk>null</jk> if the array is null or empty or contains only <jk>null</jk> values.
 	 */
@@ -244,6 +248,7 @@ public class ObjectUtils {
 	/**
 	 * Casts an object to a specific type if it's an instance of that type.
 	 *
+	 * @param <T> The type to cast to.
 	 * @param c The type to cast to.
 	 * @param o The object to cast to.
 	 * @return The cast object, or <jk>null</jk> if the object wasn't the specified type.
@@ -298,6 +303,7 @@ public class ObjectUtils {
 	/**
 	 * Returns <jk>true</jk> if the specified object is not <jk>null</jk>.
 	 *
+	 * @param <T> The value type.
 	 * @param value The value being checked.
 	 * @return <jk>true</jk> if the specified object is not <jk>null</jk>.
 	 */
@@ -311,13 +317,14 @@ public class ObjectUtils {
 	 * @param value The value being checked.
 	 * @return <jk>true</jk> if the specified boolean is not <jk>null</jk> and is <jk>true</jk>.
 	 */
-	public static <T> boolean isTrue(Boolean value) {
+	public static boolean isTrue(Boolean value) {
 		return value != null && value;
 	}
 
 	/**
 	 * Returns <jk>true</jk> if the specified number is not <jk>null</jk> and not <c>-1</c>.
 	 *
+	 * @param <T> The value types.
 	 * @param value The value being checked.
 	 * @return <jk>true</jk> if the specified number is not <jk>null</jk> and not <c>-1</c>.
 	 */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
index e70aab379..94f5685d8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -566,15 +566,15 @@ public final class StringUtils {
 	 *
 	 * <p>
 	 * <b>NOTE:</b>  This behavior is different than the Jakarta equivalent.
-	 * split("a,b,c",',') -> {"a","b","c"}
-	 * split("a, b ,c ",',') -> {"a","b","c"}
-	 * split("a,,c",',') -> {"a","","c"}
-	 * split(",,",',') -> {"","",""}
-	 * split("",',') -> {}
-	 * split(null,',') -> null
-	 * split("a,b\,c,d", ',', false) -> {"a","b\,c","d"}
-	 * split("a,b\\,c,d", ',', false) -> {"a","b\","c","d"}
-	 * split("a,b\,c,d", ',', true) -> {"a","b,c","d"}
+	 * split("a,b,c",',') -&gt; {"a","b","c"}
+	 * split("a, b ,c ",',') -&gt; {"a","b","c"}
+	 * split("a,,c",',') -&gt; {"a","","c"}
+	 * split(",,",',') -&gt; {"","",""}
+	 * split("",',') -&gt; {}
+	 * split(null,',') -&gt; null
+	 * split("a,b\,c,d", ',', false) -&gt; {"a","b\,c","d"}
+	 * split("a,b\\,c,d", ',', false) -&gt; {"a","b\","c","d"}
+	 * split("a,b\,c,d", ',', true) -&gt; {"a","b,c","d"}
 	 *
 	 * @param s The string to split.  Can be <jk>null</jk>.
 	 * @param c The character to split on.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SystemEnv.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SystemEnv.java
index 76ab4480d..73a95ef60 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SystemEnv.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/SystemEnv.java
@@ -36,6 +36,7 @@ public class SystemEnv {
 	 * First looks in system properties.  Then converts the name to env-safe and looks in the system environment.
 	 * Then returns the default if it can't be found.
 	 *
+	 * @param <T> The type to convert the value to.
 	 * @param name The property name.
 	 * @param def The default value if not found.
 	 * @return The default value.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
index 0b2428236..38aae37ce 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/ThrowableUtils.java
@@ -239,6 +239,7 @@ public class ThrowableUtils {
 	/**
 	 * Allows you to wrap a supplier that throws an exception so that it can be used in a fluent interface.
 	 *
+	 * @param <T> The supplier type.
 	 * @param supplier The supplier throwing an exception.
 	 * @return The supplied result.
 	 * @throws RuntimeException if supplier threw an exception.
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 fdb855c28..59abe0a47 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
@@ -954,7 +954,7 @@ public final class JsonParserSession extends ReaderParserSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Validate end.
+	 * Validate end.
 	 *
 	 * @see JsonParser.Builder#validateEnd()
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
index a25b4206b..c998457e1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerSession.java
@@ -443,7 +443,7 @@ public class JsonSerializerSession extends WriterSerializerSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * @see JsonSerializer.Builder#addBeanTypesJson()
 	 * @return
@@ -456,7 +456,7 @@ public class JsonSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Prefix solidus <js>'/'</js> characters with escapes.
+	 * Prefix solidus <js>'/'</js> characters with escapes.
 	 *
 	 * @see JsonSerializer.Builder#escapeSolidus()
 	 * @return
@@ -467,7 +467,7 @@ public class JsonSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Simple JSON mode.
+	 * Simple JSON mode.
 	 *
 	 * @see JsonSerializer.Builder#simpleMode()
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
index 4846eaf08..56a5ac465 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/Json.java
@@ -131,6 +131,8 @@ public @interface Json {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -143,6 +145,8 @@ public @interface Json {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 
@@ -180,6 +184,8 @@ public @interface Json {
 	 * 		}
 	 * 	}
 	 * </p>
+	 *
+	 * @return The annotation value.
 	 */
 	String wrapperAttr() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
index 23f0d4280..323547c5a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
@@ -225,6 +225,8 @@ public class JsonAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		Json[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
index de572a29b..6ed435a4c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
@@ -43,6 +43,8 @@ public @interface JsonConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -55,7 +57,7 @@ public @interface JsonConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Validate end.
+	 * Validate end.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, after parsing a POJO from the input, verifies that the remaining input in
@@ -75,6 +77,8 @@ public @interface JsonConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.json.JsonParser.Builder#validateEnd()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String validateEnd() default "";
 
@@ -83,7 +87,7 @@ public @interface JsonConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
@@ -107,11 +111,13 @@ public @interface JsonConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.json.JsonSerializer.Builder#addBeanTypesJson()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addBeanTypes() default "";
 
 	/**
-	 * Configuration property:  Prefix solidus <js>'/'</js> characters with escapes.
+	 * Prefix solidus <js>'/'</js> characters with escapes.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, solidus (e.g. slash) characters should be escaped.
@@ -133,11 +139,13 @@ public @interface JsonConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.json.JsonSerializer.Builder#escapeSolidus()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String escapeSolidus() default "";
 
 	/**
-	 * Configuration property:  Simple JSON mode.
+	 * Simple JSON mode.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, JSON attribute names will only be quoted when necessary.
@@ -172,6 +180,8 @@ public @interface JsonConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.json.JsonSerializer.Builder#simpleMode()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String simpleMode() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
index 0f81c55d9..fc1fda17a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorSession.java
@@ -478,7 +478,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add descriptions to types.
+	 * Add descriptions to types.
 	 *
 	 * @see JsonSchemaGenerator.Builder#addDescriptionsTo(TypeCategory...)
 	 * @return
@@ -489,7 +489,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Add examples.
+	 * Add examples.
 	 *
 	 * @see JsonSchemaGenerator.Builder#addExamplesTo(TypeCategory...)
 	 * @return
@@ -500,7 +500,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Allow nested descriptions.
+	 * Allow nested descriptions.
 	 *
 	 * @see JsonSchemaGenerator.Builder#allowNestedDescriptions()
 	 * @return
@@ -511,7 +511,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Allow nested examples.
+	 * Allow nested examples.
 	 *
 	 * @see JsonSchemaGenerator.Builder#allowNestedExamples()
 	 * @return
@@ -522,7 +522,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Bean schema definition mapper.
+	 * Bean schema definition mapper.
 	 *
 	 * @see JsonSchemaGenerator.Builder#beanDefMapper(Class)
 	 * @return
@@ -533,7 +533,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Ignore types from schema definitions.
+	 * Ignore types from schema definitions.
 	 *
 	 * @see JsonSchemaGenerator.Builder#ignoreTypes(String...)
 	 * @return
@@ -544,7 +544,7 @@ public class JsonSchemaGeneratorSession extends BeanTraverseSession {
 	}
 
 	/**
-	 * Configuration property:  Use bean definitions.
+	 * Use bean definitions.
 	 *
 	 * @see JsonSchemaGenerator.Builder#useBeanDefs()
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
index b5e5ef49c..cee98f6af 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
@@ -46,6 +46,8 @@ public @interface JsonSchemaConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -54,7 +56,7 @@ public @interface JsonSchemaConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add descriptions to types.
+	 * Add descriptions to types.
 	 *
 	 * <p>
 	 * Identifies which categories of types that descriptions should be automatically added to generated schemas.
@@ -83,11 +85,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#addDescriptionsTo(TypeCategory...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addDescriptionsTo() default "";
 
 	/**
-	 * Configuration property:  Add examples.
+	 * Add examples.
 	 *
 	 * <p>
 	 * Identifies which categories of types that examples should be automatically added to generated schemas.
@@ -120,11 +124,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#addDescriptionsTo(TypeCategory...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addExamplesTo() default "";
 
 	/**
-	 * Configuration property:  Allow nested descriptions.
+	 * Allow nested descriptions.
 	 *
 	 * <p>
 	 * Identifies whether nested descriptions are allowed in schema definitions.
@@ -143,11 +149,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#allowNestedDescriptions()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String allowNestedDescriptions() default "";
 
 	/**
-	 * Configuration property:  Allow nested examples.
+	 * Allow nested examples.
 	 *
 	 * <p>
 	 * Identifies whether nested examples are allowed in schema definitions.
@@ -166,11 +174,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#allowNestedExamples()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String allowNestedExamples() default "";
 
 	/**
-	 * Configuration property:  Bean schema definition mapper.
+	 * Bean schema definition mapper.
 	 *
 	 * <p>
 	 * Interface to use for converting Bean classes to definition IDs and URIs.
@@ -186,11 +196,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#beanDefMapper(Class)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<? extends BeanDefMapper> beanDefMapper() default BeanDefMapper.Void.class;
 
 	/**
-	 * Configuration property:  Ignore types from schema definitions.
+	 * Ignore types from schema definitions.
 	 *
 	 * <p>
 	 * Defines class name patterns that should be ignored when generating schema definitions in the generated
@@ -206,11 +218,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#ignoreTypes(String...)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ignoreTypes() default "";
 
 	/**
-	 * Configuration property:  Use bean definitions.
+	 * Use bean definitions.
 	 *
 	 * <p>
 	 * When enabled, schemas on beans will be serialized as the following:
@@ -241,6 +255,8 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator.Builder#useBeanDefs()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String useBeanDefs() default "";
 
@@ -249,7 +265,7 @@ public @interface JsonSchemaConfig {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Automatically detect POJO recursions.
+	 * Automatically detect POJO recursions.
 	 *
 	 * <p>
 	 * Specifies that recursions should be checked for during traversal.
@@ -263,7 +279,7 @@ public @interface JsonSchemaConfig {
 	 * The behavior when recursions are detected depends on the value for {@link org.apache.juneau.BeanTraverseContext.Builder#ignoreRecursions()}.
 	 *
 	 * <p>
-	 * For example, if a model contains the links A->B->C->A, then the JSON generated will look like
+	 * For example, if a model contains the links A-&gt;B-&gt;C-&gt;A, then the JSON generated will look like
 	 * 	the following when <jsf>BEANTRAVERSE_ignoreRecursions</jsf> is <jk>true</jk>...
 	 *
 	 * <p class='bjson'>
@@ -286,11 +302,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanTraverseContext.Builder#detectRecursions()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String detectRecursions() default "";
 
 	/**
-	 * Configuration property:  Ignore recursion errors.
+	 * Ignore recursion errors.
 	 *
 	 * <p>
 	 * Used in conjunction with {@link org.apache.juneau.BeanTraverseContext.Builder#detectRecursions()}.
@@ -314,11 +332,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanTraverseContext.Builder#ignoreRecursions()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String ignoreRecursions() default "";
 
 	/**
-	 * Configuration property:  Initial depth.
+	 * Initial depth.
 	 *
 	 * <p>
 	 * The initial indentation level at the root.
@@ -336,11 +356,13 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanTraverseContext.Builder#initialDepth(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String initialDepth() default "";
 
 	/**
-	 * Configuration property:  Max traversal depth.
+	 * Max traversal depth.
 	 *
 	 * <p>
 	 * Abort traversal if specified depth is reached in the POJO tree.
@@ -358,6 +380,8 @@ public @interface JsonSchemaConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.BeanTraverseContext.Builder#maxDepth(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String maxDepth() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
index dc84e50d7..4415d8f29 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPack.java
@@ -125,6 +125,8 @@ public @interface MsgPack {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -137,6 +139,8 @@ public @interface MsgPack {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
index 2bfa598ab..f7bbbce06 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
@@ -203,6 +203,8 @@ public class MsgPackAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		MsgPack[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
index ede00cd96..65590e08e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
@@ -43,6 +43,8 @@ public @interface MsgPackConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -55,7 +57,7 @@ public @interface MsgPackConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Add <js>"_type"</js> properties when needed.
+	 * Add <js>"_type"</js> properties when needed.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred
@@ -79,6 +81,8 @@ public @interface MsgPackConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.msgpack.MsgPackSerializer.Builder#addBeanTypesMsgPack()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String addBeanTypes() default "";
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
index 188a486b0..d4c1b5b71 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApi.java
@@ -125,6 +125,8 @@ public @interface OpenApi {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String[] on() default {};
 
@@ -137,6 +139,8 @@ public @interface OpenApi {
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc jm.DynamicallyAppliedAnnotations}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	Class<?>[] onClass() default {};
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
index 6f463cb75..7ad67657c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
@@ -203,6 +203,8 @@ public class OpenApiAnnotation {
 
 		/**
 		 * The child annotations.
+		 *
+		 * @return The annotation value.
 		 */
 		OpenApi[] value();
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
index 3ab4211d3..e8710319e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiConfig.java
@@ -43,6 +43,8 @@ public @interface OpenApiConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -80,11 +82,13 @@ public @interface OpenApiConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.oapi.OpenApiSerializer.Builder#format(HttpPartFormat)}
 	 * 	<li class='jm'>{@link org.apache.juneau.oapi.OpenApiParser.Builder#format(HttpPartFormat)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String format() default "";
 
 	/**
-	 * Configuration property:  Default collection format for HTTP parts.
+	 * Default collection format for HTTP parts.
 	 *
 	 * <p>
 	 * Specifies the collection format to use for HTTP parts when not otherwise specified via {@link org.apache.juneau.http.annotation.Schema#collectionFormat()}.
@@ -107,6 +111,8 @@ public @interface OpenApiConfig {
 	 * 	<li class='jm'>{@link org.apache.juneau.oapi.OpenApiSerializer.Builder#collectionFormat(HttpPartCollectionFormat)}
 	 * 	<li class='jm'>{@link org.apache.juneau.oapi.OpenApiParser.Builder#collectionFormat(HttpPartCollectionFormat)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String collectionFormat() default "";
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
index 7acb2df98..230ebbf90 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserSession.java
@@ -221,7 +221,7 @@ public class InputStreamParserSession extends ParserSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Binary input format.
+	 * Binary input format.
 	 *
 	 * @see InputStreamParser.Builder#binaryFormat(BinaryFormat)
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
index 54ceed00b..b3f7eabfc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
@@ -394,6 +394,7 @@ public class ParserSession extends BeanSession {
 	/**
 	 * Trims the specified object if it's a <c>String</c> and {@link #isTrimStrings()} returns <jk>true</jk>.
 	 *
+	 * @param <K> The object type.
 	 * @param o The object to trim.
 	 * @return The trimmed string if it's a string.
 	 */
@@ -848,6 +849,8 @@ public class ParserSession extends BeanSession {
 	 * <p>
 	 * Default implementation throws an {@link UnsupportedOperationException}.
 	 *
+	 * @param <K> The key type.
+	 * @param <V> The value type.
 	 * @param pipe The parser input.
 	 * @param m The map being loaded.
 	 * @param keyType The class type of the keys, or <jk>null</jk> to default to <code>String.<jk>class</jk></code>.
@@ -902,6 +905,7 @@ public class ParserSession extends BeanSession {
 	 * <p>
 	 * Default implementation throws an {@link UnsupportedOperationException}.
 	 *
+	 * @param <E> The element type.
 	 * @param pipe The parser input.
 	 * @param c The collection being loaded.
 	 * @param elementType The class type of the elements, or <jk>null</jk> to default to whatever is being parsed.
@@ -1027,6 +1031,7 @@ public class ParserSession extends BeanSession {
 	/**
 	 * Returns the listener associated with this session.
 	 *
+	 * @param <T> The listener type.
 	 * @param c The listener class to cast to.
 	 * @return The listener associated with this session, or <jk>null</jk> if there is no listener.
 	 */
@@ -1145,7 +1150,7 @@ public class ParserSession extends BeanSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Auto-close streams.
+	 * Auto-close streams.
 	 *
 	 * @see Parser.Builder#autoCloseStreams()
 	 * @return
@@ -1157,7 +1162,7 @@ public class ParserSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Debug output lines.
+	 * Debug output lines.
 	 *
 	 * @see Parser.Builder#debugOutputLines(int)
 	 * @return
@@ -1177,7 +1182,7 @@ public class ParserSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Strict mode.
+	 * Strict mode.
 	 *
 	 * @see Parser.Builder#strict()
 	 * @return
@@ -1188,7 +1193,7 @@ public class ParserSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Trim parsed strings.
+	 * Trim parsed strings.
 	 *
 	 * @see Parser.Builder#trimStrings()
 	 * @return
@@ -1200,7 +1205,7 @@ public class ParserSession extends BeanSession {
 	}
 
 	/**
-	 * Configuration property:  Unbuffered.
+	 * Unbuffered.
 	 *
 	 * @see Parser.Builder#unbuffered()
 	 * @return
@@ -1224,7 +1229,7 @@ public class ParserSession extends BeanSession {
 	//-----------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Parser listener.
+	 * Parser listener.
 	 *
 	 * @see Parser.Builder#listener(Class)
 	 * @return
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
index 3fddf50e6..78896d7ab 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSet.java
@@ -63,8 +63,8 @@ import org.apache.juneau.reflect.*;
  * 	<jc>// Construct a new parser group builder</jc>
  * 	ParserSet <jv>parsers</jv> = ParserSet.<jsm>create</jsm>();
  * 		.add(JsonParser.<jk>class</jk>, XmlParser.<jk>class</jk>); <jc>// Add some parsers to it</jc>
- *		.forEach(<jv>x</jv> -> <jv>x</jv>.swaps(CalendarSwap.IsoLocalDateTime.<jk>class</jk>))
- *		.forEach(<jv>x</jv> -> <jv>x</jv>.beansRequireSerializable())
+ *		.forEach(<jv>x</jv> -&gt; <jv>x</jv>.swaps(CalendarSwap.IsoLocalDateTime.<jk>class</jk>))
+ *		.forEach(<jv>x</jv> -&gt; <jv>x</jv>.beansRequireSerializable())
  * 		.build();
  *
  * 	<jc>// Find the appropriate parser by Content-Type</jc>
@@ -93,7 +93,7 @@ public final class ParserSet {
 	/**
 	 * An identifier that the previous entries in this group should be inherited.
 	 * <p>
-	 * Used by {@link Builder#set(Class...)}
+	 * Used by {@link ParserSet.Builder#set(Class...)}
 	 */
 	@SuppressWarnings("javadoc")
 	public static abstract class Inherit extends Parser {
@@ -105,7 +105,7 @@ public final class ParserSet {
 	/**
 	 * An identifier that the previous entries in this group should not be inherited.
 	 * <p>
-	 * Used by {@link Builder#add(Class...)}
+	 * Used by {@link ParserSet.Builder#add(Class...)}
 	 */
 	@SuppressWarnings("javadoc")
 	public static abstract class NoInherit extends Parser {
@@ -417,11 +417,12 @@ public final class ParserSet {
 		/**
 		 * Performs an action on all parser builders of the specified type in this group.
 		 *
+		 * @param <B> The parser builder type.
 		 * @param type The parser builder type.
 		 * @param action The action to perform.
 		 * @return This object.
 		 */
-		public <T extends Parser.Builder> Builder forEach(Class<T> type, Consumer<T> action) {
+		public <B extends Parser.Builder> Builder forEach(Class<B> type, Consumer<B> action) {
 			builders(type).forEach(action);
 			return this;
 		}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
index 0a0d14de5..9e753bf16 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
@@ -49,6 +49,8 @@ public @interface ParserConfig {
 	 *
 	 * <p>
 	 * Can be used to override default ordering and application of config annotations.
+	 *
+	 * @return The annotation value.
 	 */
 	int rank() default 0;
 
@@ -57,7 +59,7 @@ public @interface ParserConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Binary input format.
+	 * Binary input format.
 	 *
 	 * <p>
 	 * When using the {@link Parser#parse(Object,Class)} method on stream-based parsers and the input is a string, this defines the format to use
@@ -78,6 +80,8 @@ public @interface ParserConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.parser.InputStreamParser.Builder#binaryFormat(BinaryFormat)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String binaryFormat() default "";
 
@@ -86,7 +90,7 @@ public @interface ParserConfig {
 	//-------------------------------------------------------------------------------------------------------------------
 
 	/**
-	 * Configuration property:  Auto-close streams.
+	 * Auto-close streams.
 	 *
 	 * <p>
 	 * If <js>"true"</js>, <l>InputStreams</l> and <l>Readers</l> passed into parsers will be closed
@@ -106,11 +110,13 @@ public @interface ParserConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.parser.Parser.Builder#autoCloseStreams()}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String autoCloseStreams() default "";
 
 	/**
-	 * Configuration property:  Debug output lines.
+	 * Debug output lines.
 	 *
 	 * <p>
 	 * When parse errors occur, this specifies the number of lines of input before and after the
@@ -128,11 +134,13 @@ public @interface ParserConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.parser.Parser.Builder#debugOutputLines(int)}
 	 * </ul>
+	 *
+	 * @return The annotation value.
 	 */
 	String debugOutputLines() default "";
 
 	/**
-	 * Configuration property:  Parser listener.
+	 * Parser listener.
 	 *
 	 * <p>
 	 * Class used to listen for errors and warnings that occur during parsing.
@@ -140,11 +148,13 @@ public @interface ParserConfig {
 	 * <ul class='seealso'>
 	 * 	<li class='jm'>{@link org.apache.juneau.parser.Parser.Builder#listener(Class)}
... 6549 lines suppressed ...