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 2019/10/04 14:19:12 UTC

[juneau] branch master updated: Remove old references to juneau-svl.

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 33e8d89  Remove old references to juneau-svl.
33e8d89 is described below

commit 33e8d89e5e070053223a47ce2ef8d90ecf070281
Author: JamesBognar <ja...@apache.org>
AuthorDate: Fri Oct 4 10:18:42 2019 -0400

    Remove old references to juneau-svl.
---
 juneau-core/juneau-config/pom.xml                  |    5 -
 .../org/apache/juneau/config/vars/ConfigVar.java   |    2 +-
 juneau-core/juneau-core-utest/pom.xml              |    5 -
 .../java/org/apache/juneau/svl/DefaultingVar.java  |    2 +-
 .../main/java/org/apache/juneau/svl/MapVar.java    |    2 +-
 .../apache/juneau/svl/MultipartResolvingVar.java   |    2 +-
 .../java/org/apache/juneau/svl/MultipartVar.java   |    2 +-
 .../org/apache/juneau/svl/ResolvingObjectMap.java  |    2 +-
 .../main/java/org/apache/juneau/svl/SimpleVar.java |    2 +-
 .../java/org/apache/juneau/svl/StreamedVar.java    |    2 +-
 .../src/main/java/org/apache/juneau/svl/Var.java   |    2 +-
 .../java/org/apache/juneau/svl/VarResolver.java    |    2 +-
 .../org/apache/juneau/svl/VarResolverBuilder.java  |    2 +-
 .../org/apache/juneau/svl/VarResolverContext.java  |    2 +-
 .../org/apache/juneau/svl/VarResolverSession.java  |    2 +-
 .../org/apache/juneau/svl/vars/CoalesceVar.java    |    2 +-
 .../apache/juneau/svl/vars/EnvVariablesVar.java    |    2 +-
 .../java/org/apache/juneau/svl/vars/IfVar.java     |    2 +-
 .../java/org/apache/juneau/svl/vars/LenVar.java    |    2 +-
 .../apache/juneau/svl/vars/PatternExtractVar.java  |    2 +-
 .../apache/juneau/svl/vars/PatternMatchVar.java    |    2 +-
 .../apache/juneau/svl/vars/PatternReplaceVar.java  |    2 +-
 .../org/apache/juneau/svl/vars/SubstringVar.java   |    2 +-
 .../java/org/apache/juneau/svl/vars/SwitchVar.java |    2 +-
 .../juneau/svl/vars/SystemPropertiesVar.java       |    2 +-
 juneau-core/juneau-svl/.gitignore                  |    6 -
 juneau-core/juneau-svl/pom.xml                     |  155 -
 juneau-core/pom.xml                                |    1 -
 juneau-doc/docs/Fragments/about.html               |   32 -
 juneau-doc/docs/Topics/01.Introduction.html        |    6 -
 .../docs/Topics/01.Introduction/02.Components.html |    8 -
 .../27.SimpleVariableLanguage.html}                |    2 +-
 ...27.BestPractices.html => 28.BestPractices.html} |    0
 ...06.juneau-config.html => 05.juneau-config.html} |    0
 .../01.Overview.html                               |    0
 .../01.Overview/01.SyntaxRules.html                |    0
 .../02.EntryTypes.html                             |    0
 .../02.EntryTypes/01.PrimitiveTypes.html           |    0
 .../02.EntryTypes/02.POJOs.html                    |    0
 .../02.EntryTypes/03.Arrays.html                   |    0
 .../02.EntryTypes/04.Collections.html              |    0
 .../02.EntryTypes/05.BinaryData.html               |    0
 .../03.Variables.html                              |    0
 .../03.Variables/01.LogicVariables.html            |    0
 .../04.EncodedEntries.html                         |    0
 .../05.SectionMaps.html                            |    0
 .../06.SectionBeans.html                           |    0
 .../07.SectionInterfaces.html                      |    0
 .../08.SettingValues.html                          |    0
 .../08.SettingValues/01.FileSystemChanges.html     |    0
 .../02.CustomEntrySerialization.html               |    0
 .../08.SettingValues/03.BulkSettingValues.html     |    0
 .../09.Listeners.html                              |    0
 .../10.Serializing.html                            |    0
 .../11.Imports.html                                |    0
 .../12.ConfigStores.html                           |    0
 .../12.ConfigStores/01.ConfigMemoryStore.html      |    0
 .../12.ConfigStores/02.ConfigFileStore.html        |    0
 .../12.ConfigStores/03.CustomConfigStores.html     |    0
 .../12.ConfigStores/04.ConfigStoreListeners.html   |    0
 .../13.ReadOnlyConfigs.html                        |    0
 .../14.ClosingConfigs.html                         |    0
 .../15.SystemDefaultConfig.html                    |    0
 juneau-doc/docs/Topics/05.juneau-svl.html          |   35 -
 .../docs/Topics/05.juneau-svl/02.SvlVariables.html |  206 -
 .../docs/Topics/05.juneau-svl/03.VarResolvers.html |   73 -
 .../05.juneau-svl/04.DefaultVarResolver.html       |   38 -
 .../docs/Topics/05.juneau-svl/05.OtherNotes.html   |   32 -
 ...rest-server.html => 06.juneau-rest-server.html} |    0
 .../01.HelloWorldExample.html                      |    0
 .../02.ClassHierarchy.html                         |    0
 .../03.Instantiation.html                          |    0
 .../03.Instantiation/01.RestServlet.html           |    0
 .../03.Instantiation/02.BasicRestServlet.html      |    0
 .../03.Instantiation/03.BasicRest.html             |    0
 .../03.Instantiation/04.Children.html              |    0
 .../03.Instantiation/05.BasicRestServletGroup.html |    0
 .../03.Instantiation/06.BasicRestGroup.html        |    0
 .../03.Instantiation/07.ResourceResolvers.html     |    0
 .../03.Instantiation/08.LifecycleHooks.html        |    0
 .../04.RestResource.html                           |    0
 .../04.RestResource/01.AnnotationInheritance.html  |    0
 .../04.RestResource/02.RestResourcePath.html       |    0
 .../05.RestContext.html                            |    0
 .../06.RestMethod.html                             |    0
 .../06.RestMethod/01.MethodParameters.html         |    0
 .../06.RestMethod/02.RestRequest.html              |    0
 .../06.RestMethod/03.RestResponse.html             |    0
 .../06.RestMethod/04.RequestBody.html              |    0
 .../06.RestMethod/05.RequestHeaders.html           |    0
 .../06.RestMethod/06.RequestAttributes.html        |    0
 .../06.RestMethod/07.RequestQuery.html             |    0
 .../06.RestMethod/08.RequestFormData.html          |    0
 .../06.RestMethod/09.RestMethodPath.html           |    0
 .../06.RestMethod/10.RequestPathMatch.html         |    0
 .../06.RestMethod/11.MethodReturnTypes.html        |    0
 .../06.RestMethod/12.ReaderResource.html           |    0
 .../06.RestMethod/13.StreamResource.html           |    0
 .../06.RestMethod/14.RestMethodMatchers.html       |    0
 .../06.RestMethod/15.PredefinedResponses.html      |    0
 .../06.RestMethod/16.PredefinedExceptions.html     |    0
 .../06.RestMethod/17.PredefinedHelperBeans.html    |    0
 .../07.restRPC.html                                |    0
 .../08.OpenApiSchemaPartParsing.html               |    0
 .../09.OpenApiSchemaPartSerializing.html           |    0
 .../10.HttpPartAnnotations.html                    |    0
 .../10.HttpPartAnnotations/01.Body.html            |    0
 .../10.HttpPartAnnotations/02.FormData.html        |    0
 .../10.HttpPartAnnotations/03.HasFormData.html     |    0
 .../10.HttpPartAnnotations/04.Query.html           |    0
 .../10.HttpPartAnnotations/05.HasQuery.html        |    0
 .../10.HttpPartAnnotations/06.Header.html          |    0
 .../10.HttpPartAnnotations/07.Path.html            |    0
 .../10.HttpPartAnnotations/08.Request.html         |    0
 .../10.HttpPartAnnotations/09.Response.html        |    0
 .../10.HttpPartAnnotations/10.ResponseHeader.html  |    0
 .../10.HttpPartAnnotations/11.ResponseStatus.html  |    0
 .../11.HandlingFormPosts.html                      |    0
 .../12.HandlingMultiPartFormPosts.html             |    0
 .../13.Serializers.html                            |    0
 .../14.Parsers.html                                |    0
 .../15.ConfigurableProperties.html                 |    0
 .../16.ConfigurableAnnotations.html                |    0
 .../17.Transforms.html                             |    0
 .../18.URIs.html                                   |    0
 .../19.Guards.html                                 |    0
 .../20.RoleGuards.html                             |    0
 .../21.Converters.html                             |    0
 .../22.Messages.html                               |    0
 .../23.Encoders.html                               |    0
 .../24.SvlVariables.html                           |    2 +-
 .../25.ConfigurationFiles.html                     |    0
 .../26.StaticFiles.html                            |    0
 .../27.ClientVersioning.html                       |    0
 .../28.RestInfoProvider.html                       |    0
 .../01.BasicRestInfoProvider.html                  |    0
 .../29.Swagger.html                                |    0
 .../29.Swagger/01.BasicRestServlet.html            |    0
 .../29.Swagger/02.BasicSwaggerInfo.html            |    0
 .../29.Swagger/03.Tags.html                        |    0
 .../29.Swagger/04.Operations.html                  |    0
 .../29.Swagger/05.Parameters.html                  |    0
 .../29.Swagger/06.ParameterExamples.html           |    0
 .../29.Swagger/07.Responses.html                   |    0
 .../29.Swagger/08.ResponseExamples.html            |    0
 .../29.Swagger/09.Models.html                      |    0
 .../29.Swagger/10.Stylesheet.html                  |    0
 .../juneau-rest-server.Swagger.Models.1.png        |  Bin
 .../juneau-rest-server.Swagger.Models.2.png        |  Bin
 .../juneau-rest-server.Swagger.Models.3.png        |  Bin
 .../juneau-rest-server.Swagger.Operations.1.png    |  Bin
 .../juneau-rest-server.Swagger.Operations.2.png    |  Bin
 .../juneau-rest-server.Swagger.Operations.3.png    |  Bin
 .../juneau-rest-server.Swagger.Parameters.1.png    |  Bin
 .../juneau-rest-server.Swagger.Parameters.2.png    |  Bin
 .../juneau-rest-server.Swagger.Parameters.3.png    |  Bin
 .../juneau-rest-server.Swagger.Parameters.4.png    |  Bin
 ...neau-rest-server.Swagger.ResponseExamples.1.png |  Bin
 ...neau-rest-server.Swagger.ResponseExamples.2.png |  Bin
 ...neau-rest-server.Swagger.ResponseExamples.3.png |  Bin
 ...neau-rest-server.Swagger.ResponseExamples.4.png |  Bin
 .../30.HtmlDocAnnotation.html                      |    0
 .../30.HtmlDocAnnotation/01.UIvsDI.html            |    0
 .../30.HtmlDocAnnotation/02.Widgets.html           |    0
 .../30.HtmlDocAnnotation/03.PredefinedWidgets.html |    0
 .../30.HtmlDocAnnotation/04.UiCustomization.html   |    0
 .../30.HtmlDocAnnotation/05.Stylesheets.html       |    0
 ...erver.HtmlDocAnnotation.PredefinedWidgets.1.png |  Bin
 ...erver.HtmlDocAnnotation.PredefinedWidgets.2.png |  Bin
 ...erver.HtmlDocAnnotation.PredefinedWidgets.3.png |  Bin
 ...erver.HtmlDocAnnotation.PredefinedWidgets.4.png |  Bin
 .../31.DefaultHeaders.html                         |    0
 .../32.LoggingAndDebugging.html                    |    0
 .../32.LoggingAndErrorHandling/01.LOG4J.html       |    0
 .../33.HttpStatusCodes.html                        |    0
 .../34.OverloadingHttpMethods.html                 |    0
 .../35.BuiltInParameters.html                      |    0
 .../36.CustomSerializersAndParsers.html            |    0
 .../37.UsingWithOsgi.html                          |    0
 .../38.Injection.html                              |    0
 .../39.HTTP2.html                                  |    0
 .../40.OtherNotes.html                             |    0
 .../juneau-rest-server.HelloWorldExample.1.png     |  Bin
 .../juneau-rest-server.PredefinedLabelBeans.1.png  |  Bin
 .../juneau-rest-server.PredefinedLabelBeans.2.png  |  Bin
 .../juneau-rest-server.PredefinedLabelBeans.3.png  |  Bin
 .../juneau-rest-server.PredefinedLabelBeans.4.png  |  Bin
 .../doc-files/juneau-rest-server.RouterPages.1.png |  Bin
 .../doc-files/juneau-rest-server.Stylesheets.0.png |  Bin
 .../doc-files/juneau-rest-server.Stylesheets.1.png |  Bin
 .../doc-files/juneau-rest-server.Stylesheets.2.png |  Bin
 .../doc-files/juneau-rest-server.Stylesheets.3.png |  Bin
 .../doc-files/juneau-rest-server.Swagger.1.png     |  Bin
 .../doc-files/juneau-rest-server.Swagger.2.png     |  Bin
 .../doc-files/juneau-rest-server.Swagger.3.png     |  Bin
 .../doc-files/juneau-rest-server.Swagger.4.png     |  Bin
 .../doc-files/juneau-rest-server.Swagger.5.png     |  Bin
 .../juneau-rest-server.UiCustomization.1.png       |  Bin
 .../doc-files/juneau-rest-server.restRPC.1.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.2.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.3.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.4.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.5.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.6.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.7.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.8.png     |  Bin
 .../doc-files/juneau-rest-server.restRPC.9.png     |  Bin
 ...jaxrs.html => 07.juneau-rest-server-jaxrs.html} |    0
 .../01.BaseProvider.html                           |    0
 ....html => 08.juneau-rest-server-springboot.html} |    0
 .../01.Overview.html                               |    0
 .../02.ChildResources.html                         |    0
 ...rest-client.html => 09.juneau-rest-client.html} |    0
 .../01.RestProxies.html                            |    0
 .../01.RestProxies/01.RemoteResource.html          |    0
 .../01.RestProxies/02.RemoteMethod.html            |    0
 .../01.RestProxies/03.Body.html                    |    0
 .../01.RestProxies/04.FormData.html                |    0
 .../01.RestProxies/05.Query.html                   |    0
 .../01.RestProxies/06.Header.html                  |    0
 .../01.RestProxies/07.Path.html                    |    0
 .../01.RestProxies/08.Request.html                 |    0
 .../01.RestProxies/09.Response.html                |    0
 .../01.RestProxies/10.DualPurposeInterfaces.html   |    0
 .../02.SSL.html                                    |    0
 .../03.Authentication.html                         |    0
 .../03.Authentication/01.BASIC.html                |    0
 .../03.Authentication/02.FORM.html                 |    0
 .../03.Authentication/03.OIDC.html                 |    0
 .../04.ResponsePatterns.html                       |    0
 .../05.PipingOutput.html                           |    0
 .../06.Debugging.html                              |    0
 .../07.Logging.html                                |    0
 .../08.Interceptors.html                           |    0
 .../09.Other.html                                  |    0
 ...eau-rest-mock.html => 10.juneau-rest-mock.html} |    0
 .../01.MockRest.html                               |    0
 .../02.MockRemoteResource.html                     |    0
 ...-core.html => 11.juneau-microservice-core.html} |    0
 .../01.Overview.html                               |    0
 .../02.LifecycleMethods.html                       |    0
 .../03.Args.html                                   |    0
 .../04.Manifest.html                               |    0
 .../05.Config.html                                 |    0
 .../06.SystemProperties.html                       |    0
 .../07.VarResolver.html                            |    2 +-
 .../08.ConsoleCommands.html                        |    0
 .../09.Logging.html                                |    0
 .../10.Listeners.html                              |    0
 ...etty.html => 12.juneau-microservice-jetty.html} |    0
 .../01.Overview.html                               |    0
 .../02.LifecycleMethods.html                       |    0
 .../03.ResourceClasses.html                        |    0
 .../04.PredefinedResourceClasses.html              |    0
 .../05.Config.html                                 |    0
 .../06.JettyXml.html                               |    0
 .../07.UiCustomization.html                        |    0
 .../08.Extending.html                              |    0
 ...juneau-microservice-jetty.ResourceClasses.1.png |  Bin
 .../juneau-microservice-jetty.Running.1.png        |  Bin
 ...juneau-microservice-jetty.UiCustomization.1.png |  Bin
 ...oservice.html => 13.my-jetty-microservice.html} |    0
 .../01.Installing.html                             |    0
 .../02.Running.html                                |    0
 .../03.Building.html                               |    0
 .../my-jetty-microservice.Installing.1.png         |  Bin
 .../my-jetty-microservice.Installing.2.png         |  Bin
 .../my-jetty-microservice.Installing.3.png         |  Bin
 .../doc-files/my-jetty-microservice.Running.1.png  |  Bin
 ...ice.html => 14.my-springboot-microservice.html} |    0
 .../01.Installing.html                             |    0
 .../02.Running.html                                |    0
 .../03.Building.html                               |    0
 .../my-springboot-microservice.Installing.1.png    |  Bin
 .../my-springboot-microservice.Installing.2.png    |  Bin
 .../my-springboot-microservice.Installing.3.png    |  Bin
 .../my-springboot-microservice.Running.1.png       |  Bin
 ...ples-core.html => 15.juneau-examples-core.html} |    0
 .../01.Installing.html                             |    0
 .../02.Examples.html                               |    0
 .../juneau-examples-core.Installing.1.png          |  Bin
 .../juneau-examples-core.Installing.2.png          |  Bin
 .../juneau-examples-core.Installing.3.png          |  Bin
 ...ples-rest.html => 16.juneau-examples-rest.html} |    0
 .../01.RootResources.html                          |    0
 .../02.HelloWorldResource.html                     |    0
 .../03.DtoExamples.html                            |    0
 .../04.ConfigResource.html                         |    0
 .../05.LogsResource.html                           |    0
 .../juneau-examples-rest.AtomFeedResource.1.png    |  Bin
 .../juneau-examples-rest.AtomFeedResource.2.png    |  Bin
 .../juneau-examples-rest.AtomFeedResource.3.png    |  Bin
 .../juneau-examples-rest.ConfigResource.1.png      |  Bin
 .../juneau-examples-rest.ConfigResource.2.png      |  Bin
 .../juneau-examples-rest.HelloWorldResource.1.png  |  Bin
 .../juneau-examples-rest.HelloWorldResource.2.png  |  Bin
 .../juneau-examples-rest.JsonSchemaResource.1.png  |  Bin
 .../juneau-examples-rest.JsonSchemaResource.2.png  |  Bin
 .../juneau-examples-rest.LogsResource.1.png        |  Bin
 .../juneau-examples-rest.RootResources.1.png       |  Bin
 ...tty.html => 17.juneau-examples-rest-jetty.html} |    0
 .../01.Installing.html                             |    0
 .../02.Running.html                                |    0
 .../03.Building.html                               |    0
 .../juneau-examples-rest-jetty.Installing.1.png    |  Bin
 .../juneau-examples-rest-jetty.Installing.2.png    |  Bin
 .../juneau-examples-rest-jetty.Installing.3.png    |  Bin
 .../juneau-examples-rest-jetty.Running.1.png       |  Bin
 ...tml => 18.juneau-examples-rest-springboot.html} |    0
 .../01.Installing.html                             |    0
 .../02.Running.html                                |    0
 .../03.Building.html                               |    0
 .../04.DeployingToHeroku.html                      |    0
 .../juneau-examples-rest-springboot.Heroku.1.png   |  Bin
 .../juneau-examples-rest-springboot.Heroku.2.png   |  Bin
 .../juneau-examples-rest-springboot.Heroku.3.png   |  Bin
 .../juneau-examples-rest-springboot.Heroku.4.png   |  Bin
 .../juneau-examples-rest-springboot.Heroku.5.png   |  Bin
 .../juneau-examples-rest-springboot.Heroku.6.png   |  Bin
 ...uneau-examples-rest-springboot.Installing.1.png |  Bin
 ...uneau-examples-rest-springboot.Installing.2.png |  Bin
 ...uneau-examples-rest-springboot.Installing.3.png |  Bin
 .../juneau-examples-rest-springboot.Running.1.png  |  Bin
 .../Topics/{20.Security.html => 19.Security.html}  |    0
 .../01.juneau-marshall.html                        |    0
 .../02.juneau-svl.html                             |    0
 .../03.juneau-rest-server.html                     |    0
 juneau-doc/docs/docs.txt                           |    2 +-
 juneau-doc/pom.xml                                 |    5 -
 juneau-doc/src/main/javadoc/overview.html          | 3971 ++++++++++----------
 juneau-doc/src/main/javadoc/resources/docs.txt     |   13 +-
 .../main/javadoc/resources/fragments/about.html    |   32 -
 .../src/main/javadoc/resources/fragments/toc.html  |   15 +-
 .../juneau-examples-core/build-overlay/pom.xml     |    5 -
 juneau-examples/juneau-examples-core/pom.xml       |    5 -
 .../juneau/examples/core/svl/SvlExample.java       |    4 +-
 .../java/org/apache/juneau/rest/vars/FileVar.java  |    2 +-
 337 files changed, 2009 insertions(+), 2699 deletions(-)

diff --git a/juneau-core/juneau-config/pom.xml b/juneau-core/juneau-config/pom.xml
index 1886d46..aadbca1 100644
--- a/juneau-core/juneau-config/pom.xml
+++ b/juneau-core/juneau-config/pom.xml
@@ -34,11 +34,6 @@
 			<artifactId>juneau-marshall</artifactId>
 			<version>${project.version}</version>
 		</dependency>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-svl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
 	</dependencies>
 
 	<properties>
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/vars/ConfigVar.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/vars/ConfigVar.java
index 950f87b..68011d7 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/vars/ConfigVar.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/vars/ConfigVar.java
@@ -44,7 +44,7 @@ import org.apache.juneau.svl.*;
  * Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.VarResolvers}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.VarResolvers}
  * 	<li class='link'>{@doc juneau-config.Variables}
  * </ul>
  */
diff --git a/juneau-core/juneau-core-utest/pom.xml b/juneau-core/juneau-core-utest/pom.xml
index f6d3cab..6b71abc 100644
--- a/juneau-core/juneau-core-utest/pom.xml
+++ b/juneau-core/juneau-core-utest/pom.xml
@@ -46,11 +46,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-svl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
 			<artifactId>juneau-dto</artifactId>
 			<version>${project.version}</version>
 		</dependency>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/DefaultingVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/DefaultingVar.java
index 534f51e..a72c717 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/DefaultingVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/DefaultingVar.java
@@ -26,7 +26,7 @@ package org.apache.juneau.svl;
  * </ul>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class DefaultingVar extends SimpleVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
index 48bd83d..c7db688 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MapVar.java
@@ -21,7 +21,7 @@ import java.util.*;
  * A subclass of {@link DefaultingVar} that simply pulls values from a {@link Map}.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 @SuppressWarnings("rawtypes")
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartResolvingVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartResolvingVar.java
index 27579f0..501a11b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartResolvingVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartResolvingVar.java
@@ -28,7 +28,7 @@ import static org.apache.juneau.internal.StringUtils.*;
  * </ul>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class MultipartResolvingVar extends SimpleVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartVar.java
index 4deed58..7df5d0e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/MultipartVar.java
@@ -23,7 +23,7 @@ import static org.apache.juneau.internal.StringUtils.*;
  * </p>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class MultipartVar extends SimpleVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/ResolvingObjectMap.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/ResolvingObjectMap.java
index 69d76e1..892d594 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/ResolvingObjectMap.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/ResolvingObjectMap.java
@@ -30,7 +30,7 @@ import org.apache.juneau.*;
  * All other data types are left as-is.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 @SuppressWarnings({"serial"})
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/SimpleVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/SimpleVar.java
index 761cd8e..7e3386c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/SimpleVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/SimpleVar.java
@@ -29,7 +29,7 @@ import java.io.*;
  * </ul>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class SimpleVar extends Var {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/StreamedVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/StreamedVar.java
index 83c0b3b..3a2d81c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/StreamedVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/StreamedVar.java
@@ -28,7 +28,7 @@ package org.apache.juneau.svl;
  * </ul>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class StreamedVar extends Var {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
index 3e3fbf1..d95d9ae 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/Var.java
@@ -43,7 +43,7 @@ import java.io.*;
  * </ul>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public abstract class Var {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
index 624e946..675e5a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
@@ -53,7 +53,7 @@ import org.apache.juneau.svl.vars.*;
  * </p>
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.VarResolvers}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.VarResolvers}
  * </ul>
  */
 public class VarResolver {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverBuilder.java
index dfcc3e1..ca89a6d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverBuilder.java
@@ -22,7 +22,7 @@ import org.apache.juneau.svl.vars.*;
  * Builder class for building instances of {@link VarResolver}.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.VarResolvers}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.VarResolvers}
  * </ul>
  */
 public class VarResolverBuilder {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverContext.java
index dafbd92..d9c8728 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverContext.java
@@ -27,7 +27,7 @@ import org.apache.juneau.reflect.*;
  * Used to associate {@link Var Vars} and context objects with {@link VarResolver VarResolvers}.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.VarResolvers}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.VarResolvers}
  * </ul>
  */
 public class VarResolverContext {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
index 734d024..3892b26 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolverSession.java
@@ -37,7 +37,7 @@ import org.apache.juneau.internal.*;
  * Instances of this class are NOT guaranteed to be thread safe.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.VarResolvers}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.VarResolvers}
  * </ul>
  */
 public class VarResolverSession {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/CoalesceVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/CoalesceVar.java
index 9621bfb..b8a99e1 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/CoalesceVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/CoalesceVar.java
@@ -22,7 +22,7 @@ import org.apache.juneau.svl.*;
  *
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class CoalesceVar extends MultipartResolvingVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
index 6a1f21a..0eebdf8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
@@ -34,7 +34,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class EnvVariablesVar extends DefaultingVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
index d598b50..b5e401b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/IfVar.java
@@ -46,7 +46,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class IfVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
index 231266d..8e83714 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
@@ -42,7 +42,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class LenVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
index bcbf8df..727503f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
@@ -45,7 +45,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class PatternExtractVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
index 7358d7e..adcaeab 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternMatchVar.java
@@ -46,7 +46,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class PatternMatchVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
index 079bf3b..a09a86e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
@@ -45,7 +45,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class PatternReplaceVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
index 08ded53..b8c3520 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
@@ -43,7 +43,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class SubstringVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
index 60adad6..6df198f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SwitchVar.java
@@ -47,7 +47,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class SwitchVar extends MultipartVar {
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
index 6997050..b07ffa2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
@@ -34,7 +34,7 @@ import org.apache.juneau.svl.*;
  * <br>Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class SystemPropertiesVar extends MapVar {
diff --git a/juneau-core/juneau-svl/.gitignore b/juneau-core/juneau-svl/.gitignore
deleted file mode 100644
index 34acf88..0000000
--- a/juneau-core/juneau-svl/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/target/
-**/.DS_Store
-.classpath
-.project
-/.settings/
-/bin/
diff --git a/juneau-core/juneau-svl/pom.xml b/juneau-core/juneau-svl/pom.xml
deleted file mode 100644
index 654b9c2..0000000
--- a/juneau-core/juneau-svl/pom.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ***************************************************************************************************************************
- * 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.                                              *
- ***************************************************************************************************************************
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>org.apache.juneau</groupId>
-		<artifactId>juneau-core</artifactId>
-		<version>8.1.2-SNAPSHOT</version>
-	</parent>
-
-	<artifactId>juneau-svl</artifactId>
-	<name>Apache Juneau Core</name>
-	<description>Simple Variable Language support.</description>
-	<packaging>bundle</packaging>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-marshall</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-	</dependencies>
-
-	<properties>
-		<!-- Skip javadoc generation since we generate them in the aggregate pom -->
-		<maven.javadoc.skip>true</maven.javadoc.skip>
-		
-		<maven.compiler.source>1.8</maven.compiler.source>
-		<maven.compiler.target>1.8</maven.compiler.target>
-	</properties>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>3.2.0</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Automatic-Module-Name>org.apache.juneau.svl</Automatic-Module-Name>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<configuration>
-					<includes>
-						<include>**/*Test.class</include>
-					</includes>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-source-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-sources</id>
-						<phase>verify</phase>
-						<goals>
-							<goal>jar-no-fork</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.jacoco</groupId>
-				<artifactId>jacoco-maven-plugin</artifactId>
-				<version>0.8.2</version>
-				<executions>
-					<execution>
-						<id>default-prepare-agent</id>
-						<goals>
-							<goal>prepare-agent</goal>
-						</goals>
-					</execution>
-					<execution>
-						<id>default-report</id>
-						<phase>prepare-package</phase>
-						<goals>
-							<goal>report</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<!--plugin>
-				<groupId>com.github.siom79.japicmp</groupId>
-				<artifactId>japicmp-maven-plugin</artifactId>
-				<version>0.13.0</version>
-				<configuration>
-					<oldVersion>
-						<dependency>
-							<groupId>org.apache.juneau</groupId>
-							<artifactId>${project.artifactId}</artifactId>
-							<version>${juneau.compare.version}</version>
-							<type>jar</type>
-						</dependency>
-					</oldVersion>
-					<newVersion>
-						<file>
-							<path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
-						</file>
-					</newVersion>
-					<parameter>
-						<onlyModified>true</onlyModified>
-						<accessModifier>public</accessModifier>
-						<excludes>
-						</excludes>
-						<ignoreMissingClasses>true</ignoreMissingClasses>
-						<onlyBinaryIncompatible>true</onlyBinaryIncompatible>
-						<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
-						<breakBuildIfCausedByExclusion>false</breakBuildIfCausedByExclusion>
-						<breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning>
-						<overrideCompatibilityChangeParameters>
-							<overrideCompatibilityChangeParameter>
-								<binaryCompatible>true</binaryCompatible>
-								<compatibilityChange>SUPERCLASS_REMOVED</compatibilityChange>
-								<sourceCompatible>true</sourceCompatible>
-							</overrideCompatibilityChangeParameter>
-							<overrideCompatibilityChangeParameter>
-								<binaryCompatible>true</binaryCompatible>
-								<compatibilityChange>FIELD_REMOVED_IN_SUPERCLASS</compatibilityChange>
-								<sourceCompatible>true</sourceCompatible>
-							</overrideCompatibilityChangeParameter>
-						</overrideCompatibilityChangeParameters>
-					</parameter>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>verify</phase>
-						<goals>
-							<goal>cmp</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin-->
-		</plugins>
-	</build>
-</project>
diff --git a/juneau-core/pom.xml b/juneau-core/pom.xml
index f0bbeee..2203ee0 100644
--- a/juneau-core/pom.xml
+++ b/juneau-core/pom.xml
@@ -32,7 +32,6 @@
 		<module>juneau-marshall</module>
 		<module>juneau-marshall-rdf</module>
 		<module>juneau-dto</module>
-		<module>juneau-svl</module>
 		<module>juneau-config</module>
 		<module>juneau-core-utest</module>
 	</modules>
diff --git a/juneau-doc/docs/Fragments/about.html b/juneau-doc/docs/Fragments/about.html
index d64cdff..55ee3e0 100644
--- a/juneau-doc/docs/Fragments/about.html
+++ b/juneau-doc/docs/Fragments/about.html
@@ -39,12 +39,6 @@
 		</td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-svl'>juneau-svl</a></td>
-		<td>
-			A simple yet powerful variable replacement language API.
-		</td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-config'>juneau-config</a></td>
 		<td>
 			A sophisticated configuration file API.
@@ -76,30 +70,4 @@
 			A universal REST client API for interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy interfaces.
 		</td>
 	</tr>
-	<tr class='dark bb'>
-		<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-microservice</td>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-microservice-core'>juneau-microservice-core</a></td>
-		<td>
-			A base framework for defining microservices.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-microservice-jetty'>juneau-microservice-jetty</a></td>
-		<td>
-			A REST microservice API that combines all the features above with a simple configurable Jetty server for 
-			creating lightweight standalone REST interfaces that start up in milliseconds.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##my-jetty-microservice'>my-jetty-microservice</a></td>
-		<td>
-			Starter project template for Jetty-based microservices.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##my-springboot-microservice'>my-springboot-microservice</a></td>
-		<td>
-			Starter project template for Spring-boot-based microservices.
-		</td>
-	</tr>
 </table>
diff --git a/juneau-doc/docs/Topics/01.Introduction.html b/juneau-doc/docs/Topics/01.Introduction.html
index b599798..f50d1d8 100644
--- a/juneau-doc/docs/Topics/01.Introduction.html
+++ b/juneau-doc/docs/Topics/01.Introduction.html
@@ -42,12 +42,6 @@ Introduction
 		</td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='#juneau-svl'>juneau-svl</a></td>
-		<td>
-			A simple yet powerful variable replacement language API.
-		</td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='#juneau-config'>juneau-config</a></td>
 		<td>
 			A sophisticated configuration file API.
diff --git a/juneau-doc/docs/Topics/01.Introduction/02.Components.html b/juneau-doc/docs/Topics/01.Introduction/02.Components.html
index 5749a77..3df95ff 100644
--- a/juneau-doc/docs/Topics/01.Introduction/02.Components.html
+++ b/juneau-doc/docs/Topics/01.Introduction/02.Components.html
@@ -85,13 +85,6 @@ Components
 		<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='#juneau-svl'>juneau-svl</a></td>
-		<td>
-			Simple Variable Language API
-		</td>
-		<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='#juneau-config'>juneau-config</a></td>
 		<td>
 			Configuration file API
@@ -232,7 +225,6 @@ Components
 			<ul style='margin:0px 10px;'>
 				<li>juneau-marshall
 				<li>juneau-dto
-				<li>juneau-svl
 				<li>juneau-config
 				<li>juneau-rest-server
 				<li>juneau-rest-client
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/01.SimpleVarLanguage.html b/juneau-doc/docs/Topics/02.juneau-marshall/27.SimpleVariableLanguage.html
similarity index 96%
rename from juneau-doc/docs/Topics/05.juneau-svl/01.SimpleVarLanguage.html
rename to juneau-doc/docs/Topics/02.juneau-marshall/27.SimpleVariableLanguage.html
index 09aa7b0..f4e8a1c 100644
--- a/juneau-doc/docs/Topics/05.juneau-svl/01.SimpleVarLanguage.html
+++ b/juneau-doc/docs/Topics/02.juneau-marshall/27.SimpleVariableLanguage.html
@@ -16,7 +16,7 @@
 Simple Variable Language
 
 <p>
-	The <l>juneau-svl</l> module defines an API for a language called <l>Simple Variable Language</l>.
+	The <l>org.apache.juneau.svl</l> packages defines an API for a language called <l>Simple Variable Language</l>.
 	In a nutshell, Simple Variable Language (or SVL) is text that contains variables of the form <js>"$varName{varKey}"</js>.
 	It is used extensively in the Config, REST and Microservice APIs.
 </p>
diff --git a/juneau-doc/docs/Topics/02.juneau-marshall/27.BestPractices.html b/juneau-doc/docs/Topics/02.juneau-marshall/28.BestPractices.html
similarity index 100%
rename from juneau-doc/docs/Topics/02.juneau-marshall/27.BestPractices.html
rename to juneau-doc/docs/Topics/02.juneau-marshall/28.BestPractices.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config.html b/juneau-doc/docs/Topics/05.juneau-config.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config.html
rename to juneau-doc/docs/Topics/05.juneau-config.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/01.Overview.html b/juneau-doc/docs/Topics/05.juneau-config/01.Overview.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/01.Overview.html
rename to juneau-doc/docs/Topics/05.juneau-config/01.Overview.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/01.Overview/01.SyntaxRules.html b/juneau-doc/docs/Topics/05.juneau-config/01.Overview/01.SyntaxRules.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/01.Overview/01.SyntaxRules.html
rename to juneau-doc/docs/Topics/05.juneau-config/01.Overview/01.SyntaxRules.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/01.PrimitiveTypes.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/01.PrimitiveTypes.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/01.PrimitiveTypes.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/01.PrimitiveTypes.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/02.POJOs.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/02.POJOs.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/02.POJOs.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/02.POJOs.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/03.Arrays.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/03.Arrays.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/03.Arrays.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/03.Arrays.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/04.Collections.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/04.Collections.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/04.Collections.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/04.Collections.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/05.BinaryData.html b/juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/05.BinaryData.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/02.EntryTypes/05.BinaryData.html
rename to juneau-doc/docs/Topics/05.juneau-config/02.EntryTypes/05.BinaryData.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/03.Variables.html b/juneau-doc/docs/Topics/05.juneau-config/03.Variables.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/03.Variables.html
rename to juneau-doc/docs/Topics/05.juneau-config/03.Variables.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/03.Variables/01.LogicVariables.html b/juneau-doc/docs/Topics/05.juneau-config/03.Variables/01.LogicVariables.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/03.Variables/01.LogicVariables.html
rename to juneau-doc/docs/Topics/05.juneau-config/03.Variables/01.LogicVariables.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/04.EncodedEntries.html b/juneau-doc/docs/Topics/05.juneau-config/04.EncodedEntries.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/04.EncodedEntries.html
rename to juneau-doc/docs/Topics/05.juneau-config/04.EncodedEntries.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/05.SectionMaps.html b/juneau-doc/docs/Topics/05.juneau-config/05.SectionMaps.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/05.SectionMaps.html
rename to juneau-doc/docs/Topics/05.juneau-config/05.SectionMaps.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/06.SectionBeans.html b/juneau-doc/docs/Topics/05.juneau-config/06.SectionBeans.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/06.SectionBeans.html
rename to juneau-doc/docs/Topics/05.juneau-config/06.SectionBeans.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/07.SectionInterfaces.html b/juneau-doc/docs/Topics/05.juneau-config/07.SectionInterfaces.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/07.SectionInterfaces.html
rename to juneau-doc/docs/Topics/05.juneau-config/07.SectionInterfaces.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/08.SettingValues.html b/juneau-doc/docs/Topics/05.juneau-config/08.SettingValues.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/08.SettingValues.html
rename to juneau-doc/docs/Topics/05.juneau-config/08.SettingValues.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/01.FileSystemChanges.html b/juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/01.FileSystemChanges.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/01.FileSystemChanges.html
rename to juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/01.FileSystemChanges.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/02.CustomEntrySerialization.html b/juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/02.CustomEntrySerialization.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/02.CustomEntrySerialization.html
rename to juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/02.CustomEntrySerialization.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/03.BulkSettingValues.html b/juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/03.BulkSettingValues.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/08.SettingValues/03.BulkSettingValues.html
rename to juneau-doc/docs/Topics/05.juneau-config/08.SettingValues/03.BulkSettingValues.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/09.Listeners.html b/juneau-doc/docs/Topics/05.juneau-config/09.Listeners.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/09.Listeners.html
rename to juneau-doc/docs/Topics/05.juneau-config/09.Listeners.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/10.Serializing.html b/juneau-doc/docs/Topics/05.juneau-config/10.Serializing.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/10.Serializing.html
rename to juneau-doc/docs/Topics/05.juneau-config/10.Serializing.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/11.Imports.html b/juneau-doc/docs/Topics/05.juneau-config/11.Imports.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/11.Imports.html
rename to juneau-doc/docs/Topics/05.juneau-config/11.Imports.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores.html b/juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores.html
rename to juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/01.ConfigMemoryStore.html b/juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/01.ConfigMemoryStore.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/01.ConfigMemoryStore.html
rename to juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/01.ConfigMemoryStore.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/02.ConfigFileStore.html b/juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/02.ConfigFileStore.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/02.ConfigFileStore.html
rename to juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/02.ConfigFileStore.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/03.CustomConfigStores.html b/juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/03.CustomConfigStores.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/03.CustomConfigStores.html
rename to juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/03.CustomConfigStores.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/04.ConfigStoreListeners.html b/juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/04.ConfigStoreListeners.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/12.ConfigStores/04.ConfigStoreListeners.html
rename to juneau-doc/docs/Topics/05.juneau-config/12.ConfigStores/04.ConfigStoreListeners.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/13.ReadOnlyConfigs.html b/juneau-doc/docs/Topics/05.juneau-config/13.ReadOnlyConfigs.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/13.ReadOnlyConfigs.html
rename to juneau-doc/docs/Topics/05.juneau-config/13.ReadOnlyConfigs.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/14.ClosingConfigs.html b/juneau-doc/docs/Topics/05.juneau-config/14.ClosingConfigs.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/14.ClosingConfigs.html
rename to juneau-doc/docs/Topics/05.juneau-config/14.ClosingConfigs.html
diff --git a/juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html b/juneau-doc/docs/Topics/05.juneau-config/15.SystemDefaultConfig.html
similarity index 100%
rename from juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html
rename to juneau-doc/docs/Topics/05.juneau-config/15.SystemDefaultConfig.html
diff --git a/juneau-doc/docs/Topics/05.juneau-svl.html b/juneau-doc/docs/Topics/05.juneau-svl.html
deleted file mode 100644
index a454b57..0000000
--- a/juneau-doc/docs/Topics/05.juneau-svl.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-juneau-svl
-
-<h5 class='figure'>Maven Dependency</h5>
-<p class='bpcode w500'>
-	<xt>&lt;dependency&gt;</xt>
-		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
-		<xt>&lt;artifactId&gt;</xt>juneau-svl<xt>&lt;/artifactId&gt;</xt>
-		<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
-	<xt>&lt;/dependency&gt;</xt>
-</p>	
-
-<h5 class='figure'>Java Library</h5>
-<p class='bpcode w500'>
-	juneau-svl-{@property juneauVersion}.jar 
-</p>	
-
-<h5 class='figure'>OSGi Module</h5>
-<p class='bpcode w500'>
-	org.apache.juneau.svl_{@property juneauVersion}.jar 
-</p>	
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html b/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html
deleted file mode 100644
index f8ee1b7..0000000
--- a/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-SVL Variables
-
-<p>
-	Variables are defined through the {@link oaj.svl.Var} API.
-	The API comes with several predefined variables and is easily extensible.
-</p>
-<p>
-	The following is an example of a variable that performs URL-Encoding on strings.
-</p>
-<p class='bpcode w800'>
-	<jc>// First create our var.</jc>
-	<jk>public class</jk> UrlEncodeVar <jk>extends</jk> SimpleVar {
-		
-		<jc>// Must have a no-arg constructor!</jc>
-		<jk>public</jk> UrlEncodeVar() {
-			<jk>super</jk>(<js>"UE"</js>);
-		}	
-		
-		<jc>// The method we must implement</jc>
-		<ja>@Override</ja>
-		<jk>public</jk> String resolve(VarResolverSession session, String key) {
-			<jk>return</jk> URLEncoder.<jsm>encode</jsm>(key, <js>"UTF-8"</js>);
-		}
-	}
-	
-	<jc>// Next create a var resolver that extends the existing DEFAULT resolver
-	// that supports resolving system properties.</jc>
-	VarResolver r = VarResolver.<jsf>DEFAULT</jsf>
-		.builder()
-		.vars(UrlEncodeVar.<jk>class</jk>)
-		.build();
-	
-	<jc>// Retrieve a system property and URL-encode it if necessary.</jc>
-	String myProperty = r.resolve(<js>"$UE{$S{my.property}}"</js>);
-</p>
-<p>
-	The following shows the class hierarchy of the {@link oaj.svl.Var} class:
-</p>  
-<ul class='javatree'>
-	<li class='jac'>{@link oaj.svl.Var} - Superclass of all vars.
-	<ul>
-		<li class='jac'>{@link oaj.svl.SimpleVar} - Superclass of all vars that return strings.
-		<ul>
-			<li class='jac'>{@link oaj.svl.DefaultingVar} - Variables that define a default value if the resolve method returns null.
-			<ul>
-				<li class='jac'>{@link oaj.svl.MapVar} - Variables that pull values from maps.
-			</ul>
-			<li class='jac'>{@link oaj.svl.MultipartVar} - Variables that consist of 2 or more comma-delimited arguments.
-		</ul>
-		<li class='jac'>{@link oaj.svl.StreamedVar} - Superclass of all vars that stream their value to writers.
-	</ul>
-</ul>
-<p>
-	The following is the list of default variables defined in all modules:
-</p>
-<table class='styled w800'>
-	<tr>
-		<th>Module</th><th>Class</th><th>Pattern</th>
-	</tr>
-	<tr class='dark'>
-		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-svl</td>
-		<td>{@link oaj.svl.vars.EnvVariablesVar}</td>
-		<td class='code'>$E{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.SystemPropertiesVar}</td>
-		<td class='code'>$S{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.ArgsVar}</td>
-		<td class='code'>$A{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.ManifestFileVar}</td>
-		<td class='code'>$MF{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.IfVar}</td>
-		<td class='code'>$IF{arg,then[,else]}</td>
-	</tr>
-	<tr class='dark dd'>
-		<td>{@link oaj.svl.vars.SwitchVar}</td>
-		<td class='code'>$SW{arg,pattern1:then1[,pattern2:then2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.CoalesceVar}</td>
-		<td class='code'>$CO{arg1[,arg2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.PatternMatchVar}</td>
-		<td class='code'>$PM{arg,pattern}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.PatternReplaceVar}</td>
-		<td class='code'>$PR{arg,pattern,replace}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.PatternExtractVar}</td>
-		<td class='code'>$PE{arg,pattern,groupdIndex}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.NotEmptyVar}</td>
-		<td class='code'>$NE{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.UpperCaseVar}</td>
-		<td class='code'>$UC{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.LowerCaseVar}</td>
-		<td class='code'>$LC{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.LenVar}</td>
-		<td class='code'>$LN{arg[,delimiter]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.svl.vars.SubstringVar}</td>
-		<td class='code'>$ST{arg,start[,end]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oaj.html.HtmlWidgetVar}</td>
-		<td class='code'>$W{name}</td>
-	</tr>
-	<tr class='light dd'>
-		<td rowspan='1' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-config</td>
-		<td>{@link oaj.config.vars.ConfigVar}</td>
-		<td class='code'>$C{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-rest-server</td>
-		<td>{@link oajr.vars.FileVar}</td>
-		<td class='code'>$F{path[,default]}}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.ServletInitParamVar}</td>
-		<td class='code'>$I{name[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.LocalizationVar}</td>
-		<td class='code'>$L{key[,args...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestAttributeVar}</td>
-		<td class='code'>$RA{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestFormDataVar}</td>
-		<td class='code'>$RF{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestHeaderVar}</td>
-		<td class='code'>$RH{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestHeaderVar}</td>
-		<td class='code'>$RI{key}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestPathVar}</td>
-		<td class='code'>$RP{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestQueryVar}</td>
-		<td class='code'>$RQ{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.RequestVar}</td>
-		<td class='code'>$R{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.SerializedRequestAttrVar}</td>
-		<td class='code'>$SA{contentType,key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.SwaggerVar}</td>
-		<td class='code'>$SS{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.UrlVar}</td>
-		<td class='code'>$U{uri}></td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link oajr.vars.UrlEncodeVar}</td>
-		<td class='code'>$UE{uriPart}</td>
-	</tr>
-	<tr class='dark dd'>
-		<td>{@link oajr.vars.WidgetVar} <i>(deprecated)</i></td>
-		<td class='code'>$W{name}</td>
-	</tr>
-</table>
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/03.VarResolvers.html b/juneau-doc/docs/Topics/05.juneau-svl/03.VarResolvers.html
deleted file mode 100644
index 600d6dd..0000000
--- a/juneau-doc/docs/Topics/05.juneau-svl/03.VarResolvers.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-VarResolvers and VarResolverSessions
-
-<p>
-	The main class for performing variable resolution is {@link oaj.svl.VarResolver}.
-	Two methods are provided for resolving variables:
-</p>
-<ul class='javatree'>
-	<li class='jc'>{@link oaj.svl.VarResolver}
-	<ul>
-		<li class='jm'>{@link oaj.svl.VarResolver#resolve(String) resolve(String)} 
-			- Resolves variables and returns the results as a simple string.
-		<li class='jm'>{@link oaj.svl.VarResolver#resolveTo(String,Writer) resolveTo(String,Writer)} 
-			- Resolves variables and sends results to a writer.
-	</ul>
-</ul>
-<p>
-	Var resolvers can rely on the existence of other objects.
-	For example, {@link oaj.config.vars.ConfigVar} relies on the existence of a {@link oaj.config.Config}.
-	This is accomplished through the following:
-</p>
-<ul class='spaced-list'>
-	<li>Context-objects - Objects set on the resolver.
-	<li>Session-objects - Objects set on the resolver session.
-</ul>
-<p>
-	The following two classes are identical in behavior except for which objects they can access:
-</p>
-<ul class='javatree'>
-	<li class='jc'>{@link oaj.svl.VarResolver} - Has access to context objects only.
-	<li class='jc'>{@link oaj.svl.VarResolverSession} - Has access to context and session objects.
-</ul>
-<p>
-	Context and session objects are set through the following methods:
-</p>
-<ul class='javatree'>
-	<li class='jm'>{@link oaj.svl.VarResolverBuilder#contextObject(String,Object)} - Context objects.
-	<li class='jm'>{@link oaj.svl.VarResolverSession#sessionObject(String,Object)} - Session objects.
-	<li class='jm'>{@link oaj.svl.VarResolver#createSession(Map)} - Session objects.
-</ul>
-<p>
-	Both kinds of objects are accessible through the following method:
-</p>
-<ul class='javatree'>
-	<li class='jm'>{@link oaj.svl.VarResolverSession#getSessionObject(Class, String, boolean)}
-</ul>
-<p>
-	Var resolvers can be cloned and extended by using the {@link oaj.svl.VarResolver#builder()} method.
-	Cloning a resolver will copy it's {@link oaj.svl.Var} class names and context objects.
-</p>
-
-<h5 class='figure'>Example:</h5>
-<p class='bpcode w800'>
-	<jc>// Create a resolver that copies the default resolver and adds $C and $A vars.</jc>
-	VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>
-		.builder()
-		.vars(ConfigVar.<jk>class</jk>, ArgsVar.<jk>class</jk>)
-		.build();
-</p>
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html b/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html
deleted file mode 100644
index a977fbc..0000000
--- a/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-VarResolver.DEFAULT
-
-<p>
-	{@link oaj.svl.VarResolver#DEFAULT} is a reusable variable resolver with default support for the following variables:
-</p>
-<ul>
-	<li><c>$S{key[,default]}</c> - {@link oaj.svl.vars.SystemPropertiesVar}
-	<li><c>$E{key[,default]}</c> - {@link oaj.svl.vars.EnvVariablesVar}
-	<li><c>$A{key[,default]}</c> - {@link oaj.svl.vars.ArgsVar}
-	<li><c>$MF{key[,default]}</c> - {@link oaj.svl.vars.ManifestFileVar}
-	<li><c>$SW{stringArg,pattern:thenValue[,pattern:thenValue...]}</c> - {@link oaj.svl.vars.SwitchVar}
-	<li><c>$IF{arg,then[,else]}</c> - {@link oaj.svl.vars.IfVar}
-	<li><c>$CO{arg[,arg2...]}</c> - {@link oaj.svl.vars.CoalesceVar}
-	<li><c>$PM{arg,pattern}</c> - {@link oaj.svl.vars.PatternMatchVar}
-	<li><c>$PR{stringArg,pattern,replace}</c>- {@link oaj.svl.vars.PatternReplaceVar}
-	<li><c>$PE{arg,pattern,groupIndex}</c> - {@link oaj.svl.vars.PatternExtractVar}
-	<li><c>$UC{arg}</c> - {@link oaj.svl.vars.UpperCaseVar}
-	<li><c>$LC{arg}</c> - {@link oaj.svl.vars.LowerCaseVar}
-	<li><c>$NE{arg}</c> - {@link oaj.svl.vars.NotEmptyVar}
-	<li><c>$LN{arg[,delimiter]}</c> - {@link oaj.svl.vars.LenVar}
-	<li><c>$ST{arg,start[,end]}</c> - {@link oaj.svl.vars.SubstringVar}
-</ul>
-
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/05.OtherNotes.html b/juneau-doc/docs/Topics/05.juneau-svl/05.OtherNotes.html
deleted file mode 100644
index 469436c..0000000
--- a/juneau-doc/docs/Topics/05.juneau-svl/05.OtherNotes.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-/***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *  
- *  http://www.apache.org/licenses/LICENSE-2.0
- *  
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations under the License.
- ***************************************************************************************************************************/
- -->
-
-Other Notes
-
-<ul class='spaced-list'>
-	<li>
-		The escape character <js>'\'</js> can be used when necessary to escape the following characters: 
-		<c>$ , { }</c>
-	<li>
-		<b>WARNING:</b>  It is possible to cause {@link java.lang.StackOverflowError StackOverflowErrors} if 
-		your nested variables result in a recursive loop (e.g. the environment variable 
-		<c>'MYPROPERTY'</c> has the value <c>'$E{MYPROPERTY}'</c>).
-		So don't do that!
-	<li>
-		As a general rule, this class tries to be as efficient as possible by not creating new strings when not 
-		needed.
-		<br>For example, calling the resolve method on a string that doesn't contain variables (e.g. 
-		<c>resolver.resolve(<js>"foobar"</js>)</c>) will simply be a no-op and return the same string.
-</ul>
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server.html b/juneau-doc/docs/Topics/06.juneau-rest-server.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/01.HelloWorldExample.html b/juneau-doc/docs/Topics/06.juneau-rest-server/01.HelloWorldExample.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/01.HelloWorldExample.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/01.HelloWorldExample.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/02.ClassHierarchy.html b/juneau-doc/docs/Topics/06.juneau-rest-server/02.ClassHierarchy.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/02.ClassHierarchy.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/02.ClassHierarchy.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/01.RestServlet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/01.RestServlet.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/01.RestServlet.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/01.RestServlet.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/02.BasicRestServlet.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/03.BasicRest.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/03.BasicRest.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/03.BasicRest.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/04.Children.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/04.Children.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/04.Children.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/04.Children.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/05.BasicRestServletGroup.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/05.BasicRestServletGroup.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/05.BasicRestServletGroup.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/05.BasicRestServletGroup.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/06.BasicRestGroup.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/06.BasicRestGroup.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/06.BasicRestGroup.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/06.BasicRestGroup.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/07.ResourceResolvers.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/07.ResourceResolvers.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/07.ResourceResolvers.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/07.ResourceResolvers.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/08.LifecycleHooks.html b/juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/08.LifecycleHooks.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/03.Instantiation/08.LifecycleHooks.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/03.Instantiation/08.LifecycleHooks.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource.html b/juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource/01.AnnotationInheritance.html b/juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource/01.AnnotationInheritance.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource/01.AnnotationInheritance.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource/01.AnnotationInheritance.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource/02.RestResourcePath.html b/juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource/02.RestResourcePath.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/04.RestResource/02.RestResourcePath.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/04.RestResource/02.RestResourcePath.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/05.RestContext.html b/juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/05.RestContext.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/05.RestContext.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/01.MethodParameters.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/01.MethodParameters.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/01.MethodParameters.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/01.MethodParameters.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/02.RestRequest.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/02.RestRequest.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/02.RestRequest.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/03.RestResponse.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/03.RestResponse.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/03.RestResponse.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/03.RestResponse.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/04.RequestBody.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/04.RequestBody.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/04.RequestBody.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/04.RequestBody.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/05.RequestHeaders.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/05.RequestHeaders.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/05.RequestHeaders.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/05.RequestHeaders.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/06.RequestAttributes.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/06.RequestAttributes.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/06.RequestAttributes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/06.RequestAttributes.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/07.RequestQuery.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/07.RequestQuery.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/07.RequestQuery.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/07.RequestQuery.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/08.RequestFormData.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/08.RequestFormData.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/08.RequestFormData.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/08.RequestFormData.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/09.RestMethodPath.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/09.RestMethodPath.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/09.RestMethodPath.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/09.RestMethodPath.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/10.RequestPathMatch.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/10.RequestPathMatch.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/10.RequestPathMatch.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/10.RequestPathMatch.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/11.MethodReturnTypes.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/11.MethodReturnTypes.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/11.MethodReturnTypes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/11.MethodReturnTypes.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/12.ReaderResource.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/12.ReaderResource.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/12.ReaderResource.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/13.StreamResource.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/13.StreamResource.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/13.StreamResource.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/14.RestMethodMatchers.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/14.RestMethodMatchers.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/14.RestMethodMatchers.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/14.RestMethodMatchers.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/15.PredefinedResponses.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/15.PredefinedResponses.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/15.PredefinedResponses.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/15.PredefinedResponses.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/16.PredefinedExceptions.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/16.PredefinedExceptions.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/16.PredefinedExceptions.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/16.PredefinedExceptions.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/17.PredefinedHelperBeans.html b/juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/17.PredefinedHelperBeans.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/06.RestMethod/17.PredefinedHelperBeans.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/06.RestMethod/17.PredefinedHelperBeans.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/07.restRPC.html b/juneau-doc/docs/Topics/06.juneau-rest-server/07.restRPC.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/07.restRPC.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/07.restRPC.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/08.OpenApiSchemaPartParsing.html b/juneau-doc/docs/Topics/06.juneau-rest-server/08.OpenApiSchemaPartParsing.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/08.OpenApiSchemaPartParsing.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/08.OpenApiSchemaPartParsing.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/09.OpenApiSchemaPartSerializing.html b/juneau-doc/docs/Topics/06.juneau-rest-server/09.OpenApiSchemaPartSerializing.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/09.OpenApiSchemaPartSerializing.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/09.OpenApiSchemaPartSerializing.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/03.HasFormData.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/03.HasFormData.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/03.HasFormData.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/03.HasFormData.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/04.Query.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/04.Query.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/04.Query.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/04.Query.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/05.HasQuery.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/05.HasQuery.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/05.HasQuery.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/05.HasQuery.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/06.Header.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/06.Header.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/06.Header.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/06.Header.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/07.Path.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/07.Path.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/07.Path.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/07.Path.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/08.Request.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/08.Request.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/09.Response.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/09.Response.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/10.ResponseHeader.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/10.ResponseHeader.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/10.ResponseHeader.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/10.ResponseHeader.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/11.ResponseStatus.html b/juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/11.ResponseStatus.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/11.ResponseStatus.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/10.HttpPartAnnotations/11.ResponseStatus.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/11.HandlingFormPosts.html b/juneau-doc/docs/Topics/06.juneau-rest-server/11.HandlingFormPosts.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/11.HandlingFormPosts.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/11.HandlingFormPosts.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/12.HandlingMultiPartFormPosts.html b/juneau-doc/docs/Topics/06.juneau-rest-server/12.HandlingMultiPartFormPosts.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/12.HandlingMultiPartFormPosts.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/12.HandlingMultiPartFormPosts.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/13.Serializers.html b/juneau-doc/docs/Topics/06.juneau-rest-server/13.Serializers.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/13.Serializers.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/13.Serializers.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/14.Parsers.html b/juneau-doc/docs/Topics/06.juneau-rest-server/14.Parsers.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/14.Parsers.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/14.Parsers.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/15.ConfigurableProperties.html b/juneau-doc/docs/Topics/06.juneau-rest-server/15.ConfigurableProperties.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/15.ConfigurableProperties.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/15.ConfigurableProperties.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/16.ConfigurableAnnotations.html b/juneau-doc/docs/Topics/06.juneau-rest-server/16.ConfigurableAnnotations.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/16.ConfigurableAnnotations.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/16.ConfigurableAnnotations.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/17.Transforms.html b/juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/17.Transforms.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/17.Transforms.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/18.URIs.html b/juneau-doc/docs/Topics/06.juneau-rest-server/18.URIs.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/18.URIs.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/18.URIs.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/19.Guards.html b/juneau-doc/docs/Topics/06.juneau-rest-server/19.Guards.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/19.Guards.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/19.Guards.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/20.RoleGuards.html b/juneau-doc/docs/Topics/06.juneau-rest-server/20.RoleGuards.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/20.RoleGuards.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/20.RoleGuards.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/21.Converters.html b/juneau-doc/docs/Topics/06.juneau-rest-server/21.Converters.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/21.Converters.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/21.Converters.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/22.Messages.html b/juneau-doc/docs/Topics/06.juneau-rest-server/22.Messages.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/22.Messages.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/22.Messages.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/23.Encoders.html b/juneau-doc/docs/Topics/06.juneau-rest-server/23.Encoders.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/23.Encoders.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/23.Encoders.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/24.SvlVariables.html b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
similarity index 99%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/24.SvlVariables.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
index 3d7143a..c34683b 100644
--- a/juneau-doc/docs/Topics/07.juneau-rest-server/24.SvlVariables.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
@@ -26,7 +26,7 @@ SVL Variables
 </p>
 <p>
 	Variables take the form <l>$X{contents}</l> where <l>X</l> can consist of zero or more ASCII characters and <l>contents</l> can be virtually anything.
-	This is called Simple Variable Language, or SVL, and is defined here: {@doc juneau-svl juneau-svl}.
+	This is called Simple Variable Language, or SVL, and is defined here: {@doc juneau-marshall.SimpleVariableLanguage Simple Variable Language}.
 </p>
 <h5 class='topic'>Features</h5>
 <ul class='spaced-list'>
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/25.ConfigurationFiles.html b/juneau-doc/docs/Topics/06.juneau-rest-server/25.ConfigurationFiles.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/25.ConfigurationFiles.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/25.ConfigurationFiles.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/26.StaticFiles.html b/juneau-doc/docs/Topics/06.juneau-rest-server/26.StaticFiles.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/26.StaticFiles.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/26.StaticFiles.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/27.ClientVersioning.html b/juneau-doc/docs/Topics/06.juneau-rest-server/27.ClientVersioning.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/27.ClientVersioning.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/27.ClientVersioning.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/28.RestInfoProvider.html b/juneau-doc/docs/Topics/06.juneau-rest-server/28.RestInfoProvider.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/28.RestInfoProvider.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/28.RestInfoProvider.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/28.RestInfoProvider/01.BasicRestInfoProvider.html b/juneau-doc/docs/Topics/06.juneau-rest-server/28.RestInfoProvider/01.BasicRestInfoProvider.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/28.RestInfoProvider/01.BasicRestInfoProvider.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/28.RestInfoProvider/01.BasicRestInfoProvider.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/01.BasicRestServlet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/01.BasicRestServlet.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/02.BasicSwaggerInfo.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/02.BasicSwaggerInfo.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/02.BasicSwaggerInfo.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/02.BasicSwaggerInfo.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/03.Tags.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/03.Tags.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/03.Tags.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/03.Tags.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/04.Operations.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/04.Operations.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/04.Operations.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/04.Operations.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/05.Parameters.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/05.Parameters.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/05.Parameters.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/05.Parameters.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/06.ParameterExamples.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/06.ParameterExamples.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/06.ParameterExamples.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/06.ParameterExamples.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/07.Responses.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/07.Responses.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/07.Responses.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/07.Responses.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/08.ResponseExamples.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/08.ResponseExamples.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/08.ResponseExamples.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/08.ResponseExamples.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/09.Models.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/09.Models.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/09.Models.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/09.Models.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/10.Stylesheet.html b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/10.Stylesheet.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/10.Stylesheet.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/10.Stylesheet.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Models.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Operations.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.Parameters.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/29.Swagger/doc-files/juneau-rest-server.Swagger.ResponseExamples.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/01.UIvsDI.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/01.UIvsDI.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/01.UIvsDI.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/01.UIvsDI.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/02.Widgets.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/02.Widgets.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/02.Widgets.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/02.Widgets.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/03.PredefinedWidgets.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/03.PredefinedWidgets.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/03.PredefinedWidgets.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/03.PredefinedWidgets.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/04.UiCustomization.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/04.UiCustomization.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/04.UiCustomization.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/04.UiCustomization.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/05.Stylesheets.html b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/05.Stylesheets.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/05.Stylesheets.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/05.Stylesheets.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/30.HtmlDocAnnotation/doc-files/juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/31.DefaultHeaders.html b/juneau-doc/docs/Topics/06.juneau-rest-server/31.DefaultHeaders.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/31.DefaultHeaders.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/31.DefaultHeaders.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/32.LoggingAndDebugging.html b/juneau-doc/docs/Topics/06.juneau-rest-server/32.LoggingAndDebugging.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/32.LoggingAndDebugging.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/32.LoggingAndDebugging.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/32.LoggingAndErrorHandling/01.LOG4J.html b/juneau-doc/docs/Topics/06.juneau-rest-server/32.LoggingAndErrorHandling/01.LOG4J.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/32.LoggingAndErrorHandling/01.LOG4J.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/32.LoggingAndErrorHandling/01.LOG4J.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/33.HttpStatusCodes.html b/juneau-doc/docs/Topics/06.juneau-rest-server/33.HttpStatusCodes.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/33.HttpStatusCodes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/33.HttpStatusCodes.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/34.OverloadingHttpMethods.html b/juneau-doc/docs/Topics/06.juneau-rest-server/34.OverloadingHttpMethods.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/34.OverloadingHttpMethods.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/34.OverloadingHttpMethods.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/35.BuiltInParameters.html b/juneau-doc/docs/Topics/06.juneau-rest-server/35.BuiltInParameters.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/35.BuiltInParameters.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/35.BuiltInParameters.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/36.CustomSerializersAndParsers.html b/juneau-doc/docs/Topics/06.juneau-rest-server/36.CustomSerializersAndParsers.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/36.CustomSerializersAndParsers.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/36.CustomSerializersAndParsers.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/37.UsingWithOsgi.html b/juneau-doc/docs/Topics/06.juneau-rest-server/37.UsingWithOsgi.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/37.UsingWithOsgi.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/37.UsingWithOsgi.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/38.Injection.html b/juneau-doc/docs/Topics/06.juneau-rest-server/38.Injection.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/38.Injection.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/38.Injection.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/39.HTTP2.html b/juneau-doc/docs/Topics/06.juneau-rest-server/39.HTTP2.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/39.HTTP2.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/39.HTTP2.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/40.OtherNotes.html b/juneau-doc/docs/Topics/06.juneau-rest-server/40.OtherNotes.html
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/40.OtherNotes.html
rename to juneau-doc/docs/Topics/06.juneau-rest-server/40.OtherNotes.html
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.HelloWorldExample.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.HelloWorldExample.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.HelloWorldExample.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.HelloWorldExample.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.PredefinedLabelBeans.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.RouterPages.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.RouterPages.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.RouterPages.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.RouterPages.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.0.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.0.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.0.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.0.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Stylesheets.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.5.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.5.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.Swagger.5.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.Swagger.5.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.UiCustomization.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.UiCustomization.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.UiCustomization.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.UiCustomization.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.1.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.1.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.1.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.2.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.2.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.2.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.3.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.3.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.3.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.4.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.4.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.4.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.5.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.5.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.5.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.5.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.6.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.6.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.6.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.6.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.7.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.7.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.7.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.7.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.8.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.8.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.8.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.8.png
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.9.png b/juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.9.png
similarity index 100%
rename from juneau-doc/docs/Topics/07.juneau-rest-server/doc-files/juneau-rest-server.restRPC.9.png
rename to juneau-doc/docs/Topics/06.juneau-rest-server/doc-files/juneau-rest-server.restRPC.9.png
diff --git a/juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs.html b/juneau-doc/docs/Topics/07.juneau-rest-server-jaxrs.html
similarity index 100%
rename from juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs.html
rename to juneau-doc/docs/Topics/07.juneau-rest-server-jaxrs.html
diff --git a/juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs/01.BaseProvider.html b/juneau-doc/docs/Topics/07.juneau-rest-server-jaxrs/01.BaseProvider.html
similarity index 100%
rename from juneau-doc/docs/Topics/08.juneau-rest-server-jaxrs/01.BaseProvider.html
rename to juneau-doc/docs/Topics/07.juneau-rest-server-jaxrs/01.BaseProvider.html
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-server-springboot.html b/juneau-doc/docs/Topics/08.juneau-rest-server-springboot.html
similarity index 100%
rename from juneau-doc/docs/Topics/09.juneau-rest-server-springboot.html
rename to juneau-doc/docs/Topics/08.juneau-rest-server-springboot.html
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-server-springboot/01.Overview.html b/juneau-doc/docs/Topics/08.juneau-rest-server-springboot/01.Overview.html
similarity index 100%
rename from juneau-doc/docs/Topics/09.juneau-rest-server-springboot/01.Overview.html
rename to juneau-doc/docs/Topics/08.juneau-rest-server-springboot/01.Overview.html
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-server-springboot/02.ChildResources.html b/juneau-doc/docs/Topics/08.juneau-rest-server-springboot/02.ChildResources.html
similarity index 100%
rename from juneau-doc/docs/Topics/09.juneau-rest-server-springboot/02.ChildResources.html
rename to juneau-doc/docs/Topics/08.juneau-rest-server-springboot/02.ChildResources.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client.html b/juneau-doc/docs/Topics/09.juneau-rest-client.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/01.RemoteResource.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/01.RemoteResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/01.RemoteResource.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/01.RemoteResource.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/02.RemoteMethod.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/02.RemoteMethod.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/02.RemoteMethod.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/02.RemoteMethod.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/03.Body.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/03.Body.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/03.Body.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/03.Body.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/04.FormData.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/04.FormData.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/04.FormData.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/04.FormData.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/05.Query.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/05.Query.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/05.Query.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/05.Query.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/06.Header.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/06.Header.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/06.Header.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/06.Header.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/07.Path.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/07.Path.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/07.Path.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/07.Path.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/08.Request.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/08.Request.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/08.Request.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/08.Request.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/09.Response.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/09.Response.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/09.Response.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/09.Response.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/10.DualPurposeInterfaces.html b/juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/10.DualPurposeInterfaces.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/01.RestProxies/10.DualPurposeInterfaces.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/01.RestProxies/10.DualPurposeInterfaces.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/02.SSL.html b/juneau-doc/docs/Topics/09.juneau-rest-client/02.SSL.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/02.SSL.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/02.SSL.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication.html b/juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/01.BASIC.html b/juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/01.BASIC.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/01.BASIC.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/01.BASIC.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/02.FORM.html b/juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/02.FORM.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/02.FORM.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/02.FORM.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/03.OIDC.html b/juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/03.OIDC.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/03.Authentication/03.OIDC.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/03.Authentication/03.OIDC.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/04.ResponsePatterns.html b/juneau-doc/docs/Topics/09.juneau-rest-client/04.ResponsePatterns.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/04.ResponsePatterns.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/04.ResponsePatterns.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/05.PipingOutput.html b/juneau-doc/docs/Topics/09.juneau-rest-client/05.PipingOutput.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/05.PipingOutput.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/05.PipingOutput.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/06.Debugging.html b/juneau-doc/docs/Topics/09.juneau-rest-client/06.Debugging.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/06.Debugging.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/06.Debugging.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/07.Logging.html b/juneau-doc/docs/Topics/09.juneau-rest-client/07.Logging.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/07.Logging.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/07.Logging.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/08.Interceptors.html b/juneau-doc/docs/Topics/09.juneau-rest-client/08.Interceptors.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/08.Interceptors.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/08.Interceptors.html
diff --git a/juneau-doc/docs/Topics/10.juneau-rest-client/09.Other.html b/juneau-doc/docs/Topics/09.juneau-rest-client/09.Other.html
similarity index 100%
rename from juneau-doc/docs/Topics/10.juneau-rest-client/09.Other.html
rename to juneau-doc/docs/Topics/09.juneau-rest-client/09.Other.html
diff --git a/juneau-doc/docs/Topics/11.juneau-rest-mock.html b/juneau-doc/docs/Topics/10.juneau-rest-mock.html
similarity index 100%
rename from juneau-doc/docs/Topics/11.juneau-rest-mock.html
rename to juneau-doc/docs/Topics/10.juneau-rest-mock.html
diff --git a/juneau-doc/docs/Topics/11.juneau-rest-mock/01.MockRest.html b/juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRest.html
similarity index 100%
rename from juneau-doc/docs/Topics/11.juneau-rest-mock/01.MockRest.html
rename to juneau-doc/docs/Topics/10.juneau-rest-mock/01.MockRest.html
diff --git a/juneau-doc/docs/Topics/11.juneau-rest-mock/02.MockRemoteResource.html b/juneau-doc/docs/Topics/10.juneau-rest-mock/02.MockRemoteResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/11.juneau-rest-mock/02.MockRemoteResource.html
rename to juneau-doc/docs/Topics/10.juneau-rest-mock/02.MockRemoteResource.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core.html b/juneau-doc/docs/Topics/11.juneau-microservice-core.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/01.Overview.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/01.Overview.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/01.Overview.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/01.Overview.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/02.LifecycleMethods.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/02.LifecycleMethods.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/02.LifecycleMethods.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/02.LifecycleMethods.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/03.Args.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/03.Args.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/03.Args.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/03.Args.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/04.Manifest.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/04.Manifest.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/04.Manifest.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/04.Manifest.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/05.Config.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/05.Config.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/05.Config.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/05.Config.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/06.SystemProperties.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/06.SystemProperties.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/06.SystemProperties.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/06.SystemProperties.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/07.VarResolver.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/07.VarResolver.html
similarity index 95%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/07.VarResolver.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/07.VarResolver.html
index 025a24e..8893271 100644
--- a/juneau-doc/docs/Topics/12.juneau-microservice-core/07.VarResolver.html
+++ b/juneau-doc/docs/Topics/11.juneau-microservice-core/07.VarResolver.html
@@ -16,7 +16,7 @@
 VarResolver
 
 <p>
-	The Microservice API incorporates the {@doc juneau-svl Simple Variable Resolver} API.
+	The Microservice API incorporates the {@doc juneau-marshall.SimpleVariableLanguage Simple Variable Language} API.
 </p>
 <p>
 	The variable resolver can be augmented through the following methods:
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/08.ConsoleCommands.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/08.ConsoleCommands.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/08.ConsoleCommands.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/08.ConsoleCommands.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/09.Logging.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/09.Logging.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/09.Logging.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/09.Logging.html
diff --git a/juneau-doc/docs/Topics/12.juneau-microservice-core/10.Listeners.html b/juneau-doc/docs/Topics/11.juneau-microservice-core/10.Listeners.html
similarity index 100%
rename from juneau-doc/docs/Topics/12.juneau-microservice-core/10.Listeners.html
rename to juneau-doc/docs/Topics/11.juneau-microservice-core/10.Listeners.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/01.Overview.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/01.Overview.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/01.Overview.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/01.Overview.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/02.LifecycleMethods.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/02.LifecycleMethods.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/02.LifecycleMethods.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/02.LifecycleMethods.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/03.ResourceClasses.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/03.ResourceClasses.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/03.ResourceClasses.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/03.ResourceClasses.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/04.PredefinedResourceClasses.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/04.PredefinedResourceClasses.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/04.PredefinedResourceClasses.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/04.PredefinedResourceClasses.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/05.Config.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/05.Config.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/05.Config.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/05.Config.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/06.JettyXml.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/06.JettyXml.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/06.JettyXml.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/06.JettyXml.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/07.UiCustomization.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/07.UiCustomization.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/07.UiCustomization.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/07.UiCustomization.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/08.Extending.html b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/08.Extending.html
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/08.Extending.html
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/08.Extending.html
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.ResourceClasses.1.png b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.ResourceClasses.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.ResourceClasses.1.png
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.ResourceClasses.1.png
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.Running.1.png b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.Running.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.Running.1.png
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.Running.1.png
diff --git a/juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.UiCustomization.1.png b/juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.UiCustomization.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/13.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.UiCustomization.1.png
rename to juneau-doc/docs/Topics/12.juneau-microservice-jetty/doc-files/juneau-microservice-jetty.UiCustomization.1.png
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice.html b/juneau-doc/docs/Topics/13.my-jetty-microservice.html
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice.html
rename to juneau-doc/docs/Topics/13.my-jetty-microservice.html
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/01.Installing.html b/juneau-doc/docs/Topics/13.my-jetty-microservice/01.Installing.html
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/01.Installing.html
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/01.Installing.html
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/02.Running.html b/juneau-doc/docs/Topics/13.my-jetty-microservice/02.Running.html
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/02.Running.html
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/02.Running.html
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/03.Building.html b/juneau-doc/docs/Topics/13.my-jetty-microservice/03.Building.html
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/03.Building.html
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/03.Building.html
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.1.png b/juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.1.png
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.1.png
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.2.png b/juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.2.png
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.2.png
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.3.png b/juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.3.png
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Installing.3.png
diff --git a/juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Running.1.png b/juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Running.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/14.my-jetty-microservice/doc-files/my-jetty-microservice.Running.1.png
rename to juneau-doc/docs/Topics/13.my-jetty-microservice/doc-files/my-jetty-microservice.Running.1.png
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice.html b/juneau-doc/docs/Topics/14.my-springboot-microservice.html
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice.html
rename to juneau-doc/docs/Topics/14.my-springboot-microservice.html
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/01.Installing.html b/juneau-doc/docs/Topics/14.my-springboot-microservice/01.Installing.html
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/01.Installing.html
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/01.Installing.html
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/02.Running.html b/juneau-doc/docs/Topics/14.my-springboot-microservice/02.Running.html
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/02.Running.html
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/02.Running.html
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/03.Building.html b/juneau-doc/docs/Topics/14.my-springboot-microservice/03.Building.html
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/03.Building.html
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/03.Building.html
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.1.png b/juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.1.png
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.1.png
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.2.png b/juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.2.png
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.2.png
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.3.png b/juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.3.png
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Installing.3.png
diff --git a/juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Running.1.png b/juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Running.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/15.my-springboot-microservice/doc-files/my-springboot-microservice.Running.1.png
rename to juneau-doc/docs/Topics/14.my-springboot-microservice/doc-files/my-springboot-microservice.Running.1.png
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core.html b/juneau-doc/docs/Topics/15.juneau-examples-core.html
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core.html
rename to juneau-doc/docs/Topics/15.juneau-examples-core.html
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core/01.Installing.html b/juneau-doc/docs/Topics/15.juneau-examples-core/01.Installing.html
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core/01.Installing.html
rename to juneau-doc/docs/Topics/15.juneau-examples-core/01.Installing.html
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core/02.Examples.html b/juneau-doc/docs/Topics/15.juneau-examples-core/02.Examples.html
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core/02.Examples.html
rename to juneau-doc/docs/Topics/15.juneau-examples-core/02.Examples.html
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.1.png b/juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.1.png
rename to juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.1.png
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.2.png b/juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.2.png
rename to juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.2.png
diff --git a/juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.3.png b/juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/16.juneau-examples-core/doc-files/juneau-examples-core.Installing.3.png
rename to juneau-doc/docs/Topics/15.juneau-examples-core/doc-files/juneau-examples-core.Installing.3.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest.html b/juneau-doc/docs/Topics/16.juneau-examples-rest.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/01.RootResources.html b/juneau-doc/docs/Topics/16.juneau-examples-rest/01.RootResources.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/01.RootResources.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/01.RootResources.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/02.HelloWorldResource.html b/juneau-doc/docs/Topics/16.juneau-examples-rest/02.HelloWorldResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/02.HelloWorldResource.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/02.HelloWorldResource.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/03.DtoExamples.html b/juneau-doc/docs/Topics/16.juneau-examples-rest/03.DtoExamples.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/03.DtoExamples.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/03.DtoExamples.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/04.ConfigResource.html b/juneau-doc/docs/Topics/16.juneau-examples-rest/04.ConfigResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/04.ConfigResource.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/04.ConfigResource.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/05.LogsResource.html b/juneau-doc/docs/Topics/16.juneau-examples-rest/05.LogsResource.html
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/05.LogsResource.html
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/05.LogsResource.html
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.1.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.2.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.2.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.2.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.3.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.3.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.AtomFeedResource.3.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.1.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.2.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.2.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.ConfigResource.2.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.1.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.2.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.2.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.HelloWorldResource.2.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.1.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.2.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.2.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.JsonSchemaResource.2.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.LogsResource.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.LogsResource.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.LogsResource.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.LogsResource.1.png
diff --git a/juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.RootResources.1.png b/juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.RootResources.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/17.juneau-examples-rest/doc-files/juneau-examples-rest.RootResources.1.png
rename to juneau-doc/docs/Topics/16.juneau-examples-rest/doc-files/juneau-examples-rest.RootResources.1.png
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty.html b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty.html
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty.html
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/01.Installing.html b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/01.Installing.html
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/01.Installing.html
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/01.Installing.html
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/02.Running.html b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/02.Running.html
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/02.Running.html
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/02.Running.html
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/03.Building.html b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/03.Building.html
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/03.Building.html
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/03.Building.html
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.1.png b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.1.png
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.1.png
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.2.png b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.2.png
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.2.png
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.3.png b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.3.png
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Installing.3.png
diff --git a/juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Running.1.png b/juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Running.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/18.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Running.1.png
rename to juneau-doc/docs/Topics/17.juneau-examples-rest-jetty/doc-files/juneau-examples-rest-jetty.Running.1.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot.html b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot.html
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot.html
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot.html
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/01.Installing.html b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/01.Installing.html
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/01.Installing.html
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/01.Installing.html
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/02.Running.html b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/02.Running.html
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/02.Running.html
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/02.Running.html
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/03.Building.html b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/03.Building.html
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/03.Building.html
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/03.Building.html
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/04.DeployingToHeroku.html b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/04.DeployingToHeroku.html
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/04.DeployingToHeroku.html
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/04.DeployingToHeroku.html
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.1.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.1.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.1.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.2.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.2.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.2.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.3.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.3.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.3.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.4.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.4.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.4.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.4.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.5.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.5.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.5.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.5.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.6.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.6.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.6.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Heroku.6.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.1.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.1.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.1.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.2.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.2.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.2.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.2.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.3.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.3.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.3.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Installing.3.png
diff --git a/juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Running.1.png b/juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Running.1.png
similarity index 100%
rename from juneau-doc/docs/Topics/19.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Running.1.png
rename to juneau-doc/docs/Topics/18.juneau-examples-rest-springboot/doc-files/juneau-examples-rest-springboot.Running.1.png
diff --git a/juneau-doc/docs/Topics/20.Security.html b/juneau-doc/docs/Topics/19.Security.html
similarity index 100%
rename from juneau-doc/docs/Topics/20.Security.html
rename to juneau-doc/docs/Topics/19.Security.html
diff --git a/juneau-doc/docs/Topics/20.Security/01.juneau-marshall.html b/juneau-doc/docs/Topics/19.Security/01.juneau-marshall.html
similarity index 100%
rename from juneau-doc/docs/Topics/20.Security/01.juneau-marshall.html
rename to juneau-doc/docs/Topics/19.Security/01.juneau-marshall.html
diff --git a/juneau-doc/docs/Topics/20.Security/02.juneau-svl.html b/juneau-doc/docs/Topics/19.Security/02.juneau-svl.html
similarity index 100%
rename from juneau-doc/docs/Topics/20.Security/02.juneau-svl.html
rename to juneau-doc/docs/Topics/19.Security/02.juneau-svl.html
diff --git a/juneau-doc/docs/Topics/20.Security/03.juneau-rest-server.html b/juneau-doc/docs/Topics/19.Security/03.juneau-rest-server.html
similarity index 100%
rename from juneau-doc/docs/Topics/20.Security/03.juneau-rest-server.html
rename to juneau-doc/docs/Topics/19.Security/03.juneau-rest-server.html
diff --git a/juneau-doc/docs/docs.txt b/juneau-doc/docs/docs.txt
index 4563d0f..325e6c8 100644
--- a/juneau-doc/docs/docs.txt
+++ b/juneau-doc/docs/docs.txt
@@ -1,5 +1,5 @@
 DefaultRestSvlVariables = #DefaultRestSvlVariables, Default REST SVL Variables
-DefaultSvlVariables = #juneau-svl.DefaultVarResolver, Default SVL Variables
+DefaultSvlVariables = #juneau-marshall.SimpleVariableLanguage.DefaultVarResolver, Default SVL Variables
 PojoCategories = #juneau-marshall.PojoCategories, POJO Categories
 PojosConveribleToStrings = #PojosConveribleToStrings, POJOs Convertible to/from Strings
 PojosConveribleToOtherTypes = #PojosConveribleToOtherTypes, POJOs Convertible to/from Other Types
diff --git a/juneau-doc/pom.xml b/juneau-doc/pom.xml
index 166df11..21db4a9 100644
--- a/juneau-doc/pom.xml
+++ b/juneau-doc/pom.xml
@@ -49,11 +49,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-svl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
 			<artifactId>juneau-config</artifactId>
 			<version>${project.version}</version>
 		</dependency>
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 3156f7e..079dee4 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -181,6 +181,13 @@
 			<li><p class=''><a class='doclink' href='#juneau-marshall.OpenApiDetails.Serializers'>OpenAPI Serializers</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-marshall.OpenApiDetails.Parsers'>OpenAPI Parsers</a></p>
 		</ol>
+		<li><p class=''><a class='doclink' href='#juneau-marshall.SimpleVariableLanguage'>Simple Variable Language</a></p>
+		<ol>
+			<li><p class=''><a class='doclink' href='#juneau-marshall.SimpleVariableLanguage.SvlVariables'>SVL Variables</a></p>
+			<li><p class=''><a class='doclink' href='#juneau-marshall.SimpleVariableLanguage.VarResolvers'>VarResolvers and VarResolverSessions</a></p>
+			<li><p class=''><a class='doclink' href='#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>VarResolver.DEFAULT</a></p>
+			<li><p class=''><a class='doclink' href='#juneau-marshall.SimpleVariableLanguage.OtherNotes'>Other Notes</a></p>
+		</ol>
 		<li><p class=''><a class='doclink' href='#juneau-marshall.BestPractices'>Best Practices</a></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></p>
@@ -203,14 +210,6 @@
 		<li><p class=''><a class='doclink' href='#juneau-dto.Swagger'>Swagger</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-dto.SwaggerUI'>Swagger UI</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-svl'>juneau-svl</a></p>
-	<ol>
-		<li><p class=''><a class='doclink' href='#juneau-svl.SimpleVarLanguage'>Simple Variable Language</a></p>
-		<li><p class=''><a class='doclink' href='#juneau-svl.SvlVariables'>SVL Variables</a></p>
-		<li><p class=''><a class='doclink' href='#juneau-svl.VarResolvers'>VarResolvers and VarResolverSessions</a></p>
-		<li><p class=''><a class='doclink' href='#juneau-svl.DefaultVarResolver'>VarResolver.DEFAULT</a></p>
-		<li><p class=''><a class='doclink' href='#juneau-svl.OtherNotes'>Other Notes</a></p>
-	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-config'>juneau-config</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='#juneau-config.Overview'>Overview</a></p>
@@ -509,12 +508,6 @@
 		</td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='#juneau-svl'>juneau-svl</a></td>
-		<td>
-			A simple yet powerful variable replacement language API.
-		</td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='#juneau-config'>juneau-config</a></td>
 		<td>
 			A sophisticated configuration file API.
@@ -702,13 +695,6 @@
 		<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='#juneau-svl'>juneau-svl</a></td>
-		<td>
-			Simple Variable Language API
-		</td>
-		<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='#juneau-config'>juneau-config</a></td>
 		<td>
 			Configuration file API
@@ -849,7 +835,6 @@
 			<ul style='margin:0px 10px;'>
 				<li>juneau-marshall
 				<li>juneau-dto
-				<li>juneau-svl
 				<li>juneau-config
 				<li>juneau-rest-server
 				<li>juneau-rest-client
@@ -9946,1560 +9931,1536 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.BestPractices' id='juneau-marshall.BestPractices'>2.27 - Best Practices</a></h3>
-<div class='topic'><!-- START: 2.27 - juneau-marshall.BestPractices -->
-<ol class='spaced-list'>
-	<li>
-		Reuse instances of serializers and parsers whenever possible.
-		<br>They are designed to be thread safe and maintain internal caches of bean metadata to increase performance.
-	<li>
-		The {@link org.apache.juneau.BeanTraverseContext#BEANTRAVERSE_detectRecursions BEANTRAVERSE_detectRecursions} 
-		option on the {@link org.apache.juneau.serializer.Serializer} class can cause a performance penalty of 
-		around 20%.  
-		<br>Therefore, it's recommended that this option be used only when necessary. 
-	<li>
-		In general, JSON serialization and parsing is about 20% faster than XML.  
-		JSON is also more compact than XML.
-		<br>MessagePack is fastest and most compact of all.
-	<li>
-		The RDF parsers are SLOW.
-		<br>RDF simply isn't efficient with node traversal, so creating tree structures out of RDF models
-		is highly inefficient.  	
-	<li>
-		The {@link org.apache.juneau.parser.Parser} methods that take in {@link org.apache.juneau.ClassMeta} 
-		parameters are slightly faster than methods that 
-		take in {@link java.lang.Class} or {@link java.lang.Object} parameters, since the latter methods involve 
-		hash lookups to resolve to {@link org.apache.juneau.ClassMeta} parameters.
-</ol>
-</div><!-- END: 2.27 - juneau-marshall.BestPractices -->
-</div><!-- END: 2 - juneau-marshall -->
-
-<!-- ==================================================================================================== -->
-
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf' id='juneau-marshall-rdf'>3 - juneau-marshall-rdf</a></h2>
-<div class='topic'><!-- START: 3 - juneau-marshall-rdf -->
-<h5 class='figure'>Maven Dependency</h5>
-<p class='bpcode w500'>
-	<xt>&lt;dependency&gt;</xt>
-		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
-		<xt>&lt;artifactId&gt;</xt>juneau-marshall-rdf<xt>&lt;/artifactId&gt;</xt>
-		<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
-	<xt>&lt;/dependency&gt;</xt>
-</p>	
-<h5 class='figure'>Java Library</h5>
-<p class='bpcode w500'>
-	juneau-marshall-rdf-{@property juneauVersion}.jar 
-</p>	
-<h5 class='figure'>OSGi Module</h5>
-<p class='bpcode w500'>
-	org.apache.juneau.marshall.rdf_{@property juneauVersion}.jar 
-</p>	
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.SimpleVariableLanguage' id='juneau-marshall.SimpleVariableLanguage'>2.27 - Simple Variable Language</a></h3>
+<div class='topic'><!-- START: 2.27 - juneau-marshall.SimpleVariableLanguage -->
 <p>
-	The <c>juneau-marshall-rdf</c> library provides additional serializers and parsers for RDF.
-	These rely on the Apache Jena library to provide support for the following languages:
+	The <l>org.apache.juneau.svl</l> packages defines an API for a language called <l>Simple Variable Language</l>.
+	In a nutshell, Simple Variable Language (or SVL) is text that contains variables of the form <js>"$varName{varKey}"</js>.
+	It is used extensively in the Config, REST and Microservice APIs.
 </p>
-<ul>
-	<li>RDF/XML
-	<li>RDF/XML-Abbrev 	
-	<li>N-Triple
-	<li>Turtle
-	<li>N3
+<p>
+	Most variables can be recursively nested within the varKey (e.g. <js>"$FOO{$BAR{xxx},$BAZ{xxx}}"</js>)
+	and can return values that themselves contain more variables.
+</p>
+<p>
+	The {@link org.apache.juneau.svl.VarResolver} class is used to resolve variables.
+	The {@link org.apache.juneau.svl.VarResolver#DEFAULT} resolver is a reusable instance of this class 
+	configured with the following basic variables:
+</p>
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.SystemPropertiesVar} - <c>$S{key[,default]}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.EnvVariablesVar} - <c>$E{key[,default]}</c>
+</ul>
+<p>
+	The following logic variables are also provided:
+</p>
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.IfVar} - <c>$IF{arg,then[,else]}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.SwitchVar} - <c>$SW{arg,pattern1:then1[,pattern2:then2...]}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.CoalesceVar} - <c>$CO{arg1[,arg2...]}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternMatchVar} - <c>$PM{arg,pattern}</c> 
+	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternReplaceVar} - <c>$PR{arg,pattern,replace}</c> 
+	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternExtractVar} - <c>$PE{arg,pattern,groupIndex}</c> 
+	<li class='jc'>{@link org.apache.juneau.svl.vars.NotEmptyVar} - <c>$NE{arg}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.UpperCaseVar} - <c>$UC{arg}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.LowerCaseVar} - <c>$LC{arg}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.LenVar} - <c>$LN{arg[,delimiter]}</c>
+	<li class='jc'>{@link org.apache.juneau.svl.vars.SubstringVar} - <c>$ST{arg,start[,end]}</c>
 </ul>
+<h5 class='figure'>Example:</h5>
+<p class='bpcode w800'>
+	<jc>// Use the default variable resolver to resolve a string that contains $S (system property) variables</jc>
+	String myProperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is $S{java.home}"</js>);
+</p>
+<p>
+	The following shows how variables can be arbitrarily nested...
+</p>
+<p class='bpcode w800'>
+	<jc>// Look up a property in the following order:
+	// 1) MYPROPERTY environment variable.
+	// 2) 'my.property' system property if environment variable not found.
+	// 3) 'not found' string if system property not found.</jc>
+	String myproperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"$E{MYPROPERTY,$S{my.property,not found}}"</js>);
+</p>
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails' id='juneau-marshall-rdf.RdfDetails'>3.1 - RDF Details</a></h3>
-<div class='topic'><!-- START: 3.1 - juneau-marshall-rdf.RdfDetails -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.SimpleVariableLanguage.SvlVariables' id='juneau-marshall.SimpleVariableLanguage.SvlVariables'>2.27.1 - SVL Variables</a></h4>
+<div class='topic'><!-- START: 2.27.1 - juneau-marshall.SimpleVariableLanguage.SvlVariables -->
 <p>
-	Juneau supports serializing and parsing arbitrary POJOs to and from the following RDF formats:
+	Variables are defined through the {@link org.apache.juneau.svl.Var} API.
+	The API comes with several predefined variables and is easily extensible.
 </p>
-<ul>
-	<li>RDF/XML
-	<li>Abbreviated RDF/XML
-	<li>N-Triple
-	<li>Turtle
-	<li>N3
-</ul>
-
 <p>
-	The serializers and parsers work identically to those in <c>juneau-marshall</c>, but are
-	packaged separately so that you don't need to pull in the Jena dependency unless you need it.
+	The following is an example of a variable that performs URL-Encoding on strings.
 </p>
-
 <p class='bpcode w800'>
-	<jc>// A simple bean</jc>
-	<jk>public class</jk> Person {
-		<jk>public</jk> String name = <js>"John Smith"</js>;
-		<jk>public int</jk> age = 21;
+	<jc>// First create our var.</jc>
+	<jk>public class</jk> UrlEncodeVar <jk>extends</jk> SimpleVar {
+		
+		<jc>// Must have a no-arg constructor!</jc>
+		<jk>public</jk> UrlEncodeVar() {
+			<jk>super</jk>(<js>"UE"</js>);
+		}	
+		
+		<jc>// The method we must implement</jc>
+		<ja>@Override</ja>
+		<jk>public</jk> String resolve(VarResolverSession session, String key) {
+			<jk>return</jk> URLEncoder.<jsm>encode</jsm>(key, <js>"UTF-8"</js>);
+		}
 	}
 	
-	<jc>// Serialize a bean to JSON, XML, or HTML</jc>
-	Person p = <jk>new</jk> Person();
-
-	<jc>// Produces:
-	// &lt;rdf:RDF
-	//  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-	//  xmlns:jp="http://www.apache.org/juneaubp/"
-	//  xmlns:j="http://www.apache.org/juneau/"&gt;
-	// 	&lt;rdf:Description&gt;
-	// 		&lt;jp:name&gt;John Smith&lt;/jp:name&gt;
-	// 		&lt;jp:age&gt;21&lt;/jp:age&gt;
-	// 	&lt;/rdf:Description&gt;
-	// &lt;/rdf:RDF&gt;</jc>
-	String rdfXml = RdfSerializer.<jsf>DEFAULT_XMLABBREV</jsf>.serialize(p);
+	<jc>// Next create a var resolver that extends the existing DEFAULT resolver
+	// that supports resolving system properties.</jc>
+	VarResolver r = VarResolver.<jsf>DEFAULT</jsf>
+		.builder()
+		.vars(UrlEncodeVar.<jk>class</jk>)
+		.build();
 	
-	<jc>// Produces:
-	// @prefix jp:      &lt;http://www.apache.org/juneaubp/&gt; .
-	// @prefix j:       &lt;http://www.apache.org/juneau/&gt; .
-	//	[]    jp:age  "21" ;
-	//	      jp:name "John Smith" .</jc>
-	String rdfN3 = N3Serializer.<jsf>DEFAULT</jsf>.serialize(p);
-
-	<jc>// Produces:
-	// _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd &lt;http://www.apache.org/juneaubp/name&gt; "John Smith" .
-	// _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd &lt;http://www.apache.org/juneaubp/age&gt; "21" .</jc>
-	String rdfNTriple = RdfSerializer.<jsf>DEFAULT_NTRIPLE</jsf>.serialize(p);
+	<jc>// Retrieve a system property and URL-encode it if necessary.</jc>
+	String myProperty = r.resolve(<js>"$UE{$S{my.property}}"</js>);
 </p>
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Serializers' id='juneau-marshall-rdf.RdfDetails.Serializers'>3.1.1 - RDF Serializers</a></h4>
-<div class='topic'><!-- START: 3.1.1 - juneau-marshall-rdf.RdfDetails.Serializers -->
 <p>
-	The {@link org.apache.juneau.jena.RdfSerializer} class is the top-level class for all Jena-based serializers.
-	Language-specific serializers are defined as inner subclasses of the <c>RdfSerializer</c> class:
-</p>	
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
-	<ul>
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlSerializer}
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer}
-		<li class='jc'>{@link org.apache.juneau.jena.N3Serializer}
-		<li class='jc'>{@link org.apache.juneau.jena.NTripleSerializer}
-		<li class='jc'>{@link org.apache.juneau.jena.TurtleSerializer}
-	</ul>
-</ul>
-
+	The following shows the class hierarchy of the {@link org.apache.juneau.svl.Var} class:
+</p>  
 <ul class='javatree'>
-	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.Common Common Properties}
-	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.CommonSerializer Common Serializer Properties}
-	<li class='jic'>{@link org.apache.juneau.jena.RdfCommon}
-	<ul>
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_embedding RDF_arp_embedding}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_err_ RDF_arp_err_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_errorMode RDF_arp_errorMode}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_ign_ RDF_arp_ign_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_iriRules RDF_arp_iriRules}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_warn_ RDF_arp_warn_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_collectionFormat RDF_collectionFormat}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauBpNs RDF_juneauBpNs}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauNs RDF_juneauNs}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_language RDF_language}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_looseCollections RDF_looseCollections}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_abbrevBaseUri RDF_n3_abbrevBaseUri}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_indentProperty RDF_n3_indentProperty}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_minGap RDF_n3_minGap}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_objectLists RDF_n3_objectLists}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_propertyColumn RDF_n3_propertyColumn}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_subjectColumn RDF_n3_subjectColumn}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useDoubles RDF_n3_useDoubles}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_usePropertySymbols RDF_n3_usePropertySymbols}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useTripleQuotedStrings RDF_n3_useTripleQuotedStrings}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_widePropertyLen RDF_n3_widePropertyLen}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_allowBadUris RDF_rdfxml_allowBadUris}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_attributeQuoteChar RDF_rdfxml_attributeQuoteChar}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_blockRules RDF_rdfxml_blockRules}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_longId RDF_rdfxml_longId}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_relativeUris RDF_rdfxml_relativeUris}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showDoctypeDeclaration RDF_rdfxml_showDoctypeDeclaration}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showXmlDeclaration RDF_rdfxml_showXmlDeclaration}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_tab RDF_rdfxml_tab}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_xmlBase RDF_rdfxml_xmlBase}
-	</ul>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
+	<li class='jac'>{@link org.apache.juneau.svl.Var} - Superclass of all vars.
 	<ul>
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addBeanTypes RDF_addBeanTypes}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addLiteralTypes RDF_addLiteralTypes}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addRootProperty RDF_addRootProperty}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_autoDetectNamespaces RDF_autoDetectNamespaces}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_namespaces RDF_namespaces}				
-		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_useXmlNamespaces RDF_useXmlNamespaces}					
+		<li class='jac'>{@link org.apache.juneau.svl.SimpleVar} - Superclass of all vars that return strings.
+		<ul>
+			<li class='jac'>{@link org.apache.juneau.svl.DefaultingVar} - Variables that define a default value if the resolve method returns null.
+			<ul>
+				<li class='jac'>{@link org.apache.juneau.svl.MapVar} - Variables that pull values from maps.
+			</ul>
+			<li class='jac'>{@link org.apache.juneau.svl.MultipartVar} - Variables that consist of 2 or more comma-delimited arguments.
+		</ul>
+		<li class='jac'>{@link org.apache.juneau.svl.StreamedVar} - Superclass of all vars that stream their value to writers.
 	</ul>
 </ul>
 <p>
-	The following pre-configured serializers are provided for convenience:
+	The following is the list of default variables defined in all modules:
 </p>
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
-	<ul>
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlSerializer}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlSerializer#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.N3Serializer}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.N3Serializer#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.NTripleSerializer}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.NTripleSerializer#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.TurtleSerializer}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.TurtleSerializer#DEFAULT DEFAULT}
-		</ul>
-	</ul>
-</ul>
-<p>
-	Abbreviated RDF/XML is currently the most widely accepted and readable RDF syntax, so the examples shown here 
-	will use that format.
-</p>
-</div><!-- END: 3.1.1 - juneau-marshall-rdf.RdfDetails.Serializers -->
+<table class='styled w800'>
+	<tr>
+		<th>Module</th><th>Class</th><th>Pattern</th>
+	</tr>
+	<tr class='dark'>
+		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-svl</td>
+		<td>{@link org.apache.juneau.svl.vars.EnvVariablesVar}</td>
+		<td class='code'>$E{key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.SystemPropertiesVar}</td>
+		<td class='code'>$S{key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.ArgsVar}</td>
+		<td class='code'>$A{key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.ManifestFileVar}</td>
+		<td class='code'>$MF{key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.IfVar}</td>
+		<td class='code'>$IF{arg,then[,else]}</td>
+	</tr>
+	<tr class='dark dd'>
+		<td>{@link org.apache.juneau.svl.vars.SwitchVar}</td>
+		<td class='code'>$SW{arg,pattern1:then1[,pattern2:then2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.CoalesceVar}</td>
+		<td class='code'>$CO{arg1[,arg2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.PatternMatchVar}</td>
+		<td class='code'>$PM{arg,pattern}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.PatternReplaceVar}</td>
+		<td class='code'>$PR{arg,pattern,replace}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.PatternExtractVar}</td>
+		<td class='code'>$PE{arg,pattern,groupdIndex}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.NotEmptyVar}</td>
+		<td class='code'>$NE{arg}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.UpperCaseVar}</td>
+		<td class='code'>$UC{arg}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.LowerCaseVar}</td>
+		<td class='code'>$LC{arg}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.LenVar}</td>
+		<td class='code'>$LN{arg[,delimiter]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.svl.vars.SubstringVar}</td>
+		<td class='code'>$ST{arg,start[,end]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.html.HtmlWidgetVar}</td>
+		<td class='code'>$W{name}</td>
+	</tr>
+	<tr class='light dd'>
+		<td rowspan='1' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-config</td>
+		<td>{@link org.apache.juneau.config.vars.ConfigVar}</td>
+		<td class='code'>$C{key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-rest-server</td>
+		<td>{@link org.apache.juneau.rest.vars.FileVar}</td>
+		<td class='code'>$F{path[,default]}}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.ServletInitParamVar}</td>
+		<td class='code'>$I{name[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.LocalizationVar}</td>
+		<td class='code'>$L{key[,args...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestAttributeVar}</td>
+		<td class='code'>$RA{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestFormDataVar}</td>
+		<td class='code'>$RF{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestHeaderVar}</td>
+		<td class='code'>$RH{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestHeaderVar}</td>
+		<td class='code'>$RI{key}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestPathVar}</td>
+		<td class='code'>$RP{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestQueryVar}</td>
+		<td class='code'>$RQ{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.RequestVar}</td>
+		<td class='code'>$R{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.SerializedRequestAttrVar}</td>
+		<td class='code'>$SA{contentType,key[,default]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.SwaggerVar}</td>
+		<td class='code'>$SS{key1[,key2...]}</td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.UrlVar}</td>
+		<td class='code'>$U{uri}></td>
+	</tr>
+	<tr class='dark'>
+		<td>{@link org.apache.juneau.rest.vars.UrlEncodeVar}</td>
+		<td class='code'>$UE{uriPart}</td>
+	</tr>
+	<tr class='dark dd'>
+		<td>{@link org.apache.juneau.rest.vars.WidgetVar} <i>(deprecated)</i></td>
+		<td class='code'>$W{name}</td>
+	</tr>
+</table>
+</div><!-- END: 2.27.1 - juneau-marshall.SimpleVariableLanguage.SvlVariables -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Parsers' id='juneau-marshall-rdf.RdfDetails.Parsers'>3.1.2 - RDF Parsers</a></h4>
-<div class='topic'><!-- START: 3.1.2 - juneau-marshall-rdf.RdfDetails.Parsers -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.SimpleVariableLanguage.VarResolvers' id='juneau-marshall.SimpleVariableLanguage.VarResolvers'>2.27.2 - VarResolvers and VarResolverSessions</a></h4>
+<div class='topic'><!-- START: 2.27.2 - juneau-marshall.SimpleVariableLanguage.VarResolvers -->
 <p>
-	The {@link org.apache.juneau.jena.RdfParser} class is the top-level class for all Jena-based parsers.
-	Language-specific parsers are defined as inner subclasses of the <c>RdfParser</c> class:
-</p>	
+	The main class for performing variable resolution is {@link org.apache.juneau.svl.VarResolver}.
+	Two methods are provided for resolving variables:
+</p>
 <ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
+	<li class='jc'>{@link org.apache.juneau.svl.VarResolver}
 	<ul>
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlParser}
-		<li class='jc'>{@link org.apache.juneau.jena.NTripleParser}
-		<li class='jc'>{@link org.apache.juneau.jena.TurtleParser}
-		<li class='jc'>{@link org.apache.juneau.jena.N3Parser}
+		<li class='jm'>{@link org.apache.juneau.svl.VarResolver#resolve(String) resolve(String)} 
+			- Resolves variables and returns the results as a simple string.
+		<li class='jm'>{@link org.apache.juneau.svl.VarResolver#resolveTo(String,Writer) resolveTo(String,Writer)} 
+			- Resolves variables and sends results to a writer.
 	</ul>
 </ul>
 <p>
-	The <c>RdfParser.Xml</c> parser handles both regular and abbreviated RDF/XML.
+	Var resolvers can rely on the existence of other objects.
+	For example, {@link org.apache.juneau.config.vars.ConfigVar} relies on the existence of a {@link org.apache.juneau.config.Config}.
+	This is accomplished through the following:
 </p>
+<ul class='spaced-list'>
+	<li>Context-objects - Objects set on the resolver.
+	<li>Session-objects - Objects set on the resolver session.
+</ul>
 <p>
-	The RDF parser provides the following settings:
+	The following two classes are identical in behavior except for which objects they can access:
 </p>
 <ul class='javatree'>
-	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.Common Common Properties}
-	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.CommonParser Common Parser Properties}
-	<li class='jic'>{@link org.apache.juneau.jena.RdfCommon}
-	<ul>
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_embedding RDF_arp_embedding}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_err_ RDF_arp_err_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_errorMode RDF_arp_errorMode}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_ign_ RDF_arp_ign_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_iriRules RDF_arp_iriRules}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_warn_ RDF_arp_warn_}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_collectionFormat RDF_collectionFormat}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauBpNs RDF_juneauBpNs}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauNs RDF_juneauNs}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_language RDF_language}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_looseCollections RDF_looseCollections}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_abbrevBaseUri RDF_n3_abbrevBaseUri}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_indentProperty RDF_n3_indentProperty}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_minGap RDF_n3_minGap}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_objectLists RDF_n3_objectLists}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_propertyColumn RDF_n3_propertyColumn}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_subjectColumn RDF_n3_subjectColumn}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useDoubles RDF_n3_useDoubles}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_usePropertySymbols RDF_n3_usePropertySymbols}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useTripleQuotedStrings RDF_n3_useTripleQuotedStrings}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_widePropertyLen RDF_n3_widePropertyLen}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_allowBadUris RDF_rdfxml_allowBadUris}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_attributeQuoteChar RDF_rdfxml_attributeQuoteChar}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_blockRules RDF_rdfxml_blockRules}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_longId RDF_rdfxml_longId}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_relativeUris RDF_rdfxml_relativeUris}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showDoctypeDeclaration RDF_rdfxml_showDoctypeDeclaration}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showXmlDeclaration RDF_rdfxml_showXmlDeclaration}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_tab RDF_rdfxml_tab}
-		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_xmlBase RDF_rdfxml_xmlBase}
-	</ul>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
-	<ul>
-		<li class='jf'>{@link org.apache.juneau.jena.RdfParser#RDF_trimWhitespace RDF_trimWhitespace}
-	</ul>
+	<li class='jc'>{@link org.apache.juneau.svl.VarResolver} - Has access to context objects only.
+	<li class='jc'>{@link org.apache.juneau.svl.VarResolverSession} - Has access to context and session objects.
 </ul>
 <p>
-	The following pre-configured parsers are provided for convenience:
+	Context and session objects are set through the following methods:
 </p>
 <ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
-	<ul>
-		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlParser}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlParser#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.N3Parser}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.N3Parser#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.NTripleParser}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.NTripleParser#DEFAULT DEFAULT}
-		</ul>
-		<li class='jc'>{@link org.apache.juneau.jena.TurtleParser}
-		<ul>
-			<li class='jf'>{@link org.apache.juneau.jena.TurtleParser#DEFAULT DEFAULT}
-		</ul>
-	</ul>
-</ul>
-</div><!-- END: 3.1.2 - juneau-marshall-rdf.RdfDetails.Parsers -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.RdfAnnotation' id='juneau-marshall-rdf.RdfDetails.RdfAnnotation'>3.1.3 - @Rdf Annotation</a></h4>
-<div class='topic'><!-- START: 3.1.3 - juneau-marshall-rdf.RdfDetails.RdfAnnotation -->
+	<li class='jm'>{@link org.apache.juneau.svl.VarResolverBuilder#contextObject(String,Object)} - Context objects.
+	<li class='jm'>{@link org.apache.juneau.svl.VarResolverSession#sessionObject(String,Object)} - Session objects.
+	<li class='jm'>{@link org.apache.juneau.svl.VarResolver#createSession(Map)} - Session objects.
+</ul>
 <p>
-	The {@link org.apache.juneau.jena.annotation.Rdf @Rdf} annotation
-	is used to override the behavior of the RDF serializers and parsers on individual bean classes or properties.
+	Both kinds of objects are accessible through the following method:
 </p>
 <ul class='javatree'>
-	<li class='ja'>{@link org.apache.juneau.jena.annotation.Rdf}
-	<ul>
-		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#beanUri() beanUri}
-		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#collectionFormat() collectionFormat}
-		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#namespace() namespace}
-		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#prefix() prefix}
-	</ul>
+	<li class='jm'>{@link org.apache.juneau.svl.VarResolverSession#getSessionObject(Class, String, boolean)}
 </ul>
-</div><!-- END: 3.1.3 - juneau-marshall-rdf.RdfDetails.RdfAnnotation -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Namespaces' id='juneau-marshall-rdf.RdfDetails.Namespaces'>3.1.4 - Namespaces</a></h4>
-<div class='topic'><!-- START: 3.1.4 - juneau-marshall-rdf.RdfDetails.Namespaces -->
-<p>
-	You'll notice in the previous example that Juneau namespaces are used to represent bean property names.
-	These are used by default when namespaces are not explicitly specified.
-</p>
-<p>
-	The <c>juneau</c> namespace is used for generic names for objects that don't have namespaces 
-	associated with them.
-</p>
-<p>
-	The <c>juneaubp</c> namespace is used on bean properties that don't have namespaces associated with 
-	them.
-</p>
 <p>
-	The easiest way to specify namespaces is through annotations.
-	In this example, we're going to associate the prefix <c>'per'</c> to our bean class and all properties 
-	of this class.
-	We do this by adding the following annotation to our class:
+	Var resolvers can be cloned and extended by using the {@link org.apache.juneau.svl.VarResolver#builder()} method.
+	Cloning a resolver will copy it's {@link org.apache.juneau.svl.Var} class names and context objects.
 </p>
+
+<h5 class='figure'>Example:</h5>
 <p class='bpcode w800'>
-	<ja>@Rdf</ja>(prefix=<js>"per"</js>)
-	<jk>public class</jk> Person {
+	<jc>// Create a resolver that copies the default resolver and adds $C and $A vars.</jc>
+	VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>
+		.builder()
+		.vars(ConfigVar.<jk>class</jk>, ArgsVar.<jk>class</jk>)
+		.build();
 </p>
+</div><!-- END: 2.27.2 - juneau-marshall.SimpleVariableLanguage.VarResolvers -->
+
+<!-- ==================================================================================================== -->
+
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver' id='juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>2.27.3 - VarResolver.DEFAULT</a></h4>
+<div class='topic'><!-- START: 2.27.3 - juneau-marshall.SimpleVariableLanguage.DefaultVarResolver -->
 <p>
-	In general, the best approach is to define the namespace URIs at the package level using a 
-	<c>package-info.java</c> class, like so:
-</p>
-<p class='bpcode w800'>
-	<jc>// RDF namespaces used in this package</jc>
-	<ja>@RdfSchema</ja>(
-		prefix=<js>"ab"</js>,
-		rdfNs={
-			<ja>@RdfNs</ja>(prefix=<js>"ab"</js>, namespaceURI=<js>"http://www.apache.org/addressBook/"</js>),
-			<ja>@RdfNs</ja>(prefix=<js>"per"</js>, namespaceURI=<js>"http://www.apache.org/person/"</js>),
-			<ja>@RdfNs</ja>(prefix=<js>"addr"</js>, namespaceURI=<js>"http://www.apache.org/address/"</js>),
-			<ja>@RdfNs</ja>(prefix=<js>"mail"</js>, namespaceURI=<js>"http://www.apache.org/mail/"</js>)
-		}
-	)
-	<jk>package</jk> org.apache.juneau.sample.addressbook;
-	<jk>import</jk> org.apache.juneau.xml.annotation.*;
+	{@link org.apache.juneau.svl.VarResolver#DEFAULT} is a reusable variable resolver with default support for the following variables:
 </p>
+<ul>
+	<li><c>$S{key[,default]}</c> - {@link org.apache.juneau.svl.vars.SystemPropertiesVar}
+	<li><c>$E{key[,default]}</c> - {@link org.apache.juneau.svl.vars.EnvVariablesVar}
+	<li><c>$A{key[,default]}</c> - {@link org.apache.juneau.svl.vars.ArgsVar}
+	<li><c>$MF{key[,default]}</c> - {@link org.apache.juneau.svl.vars.ManifestFileVar}
+	<li><c>$SW{stringArg,pattern:thenValue[,pattern:thenValue...]}</c> - {@link org.apache.juneau.svl.vars.SwitchVar}
+	<li><c>$IF{arg,then[,else]}</c> - {@link org.apache.juneau.svl.vars.IfVar}
+	<li><c>$CO{arg[,arg2...]}</c> - {@link org.apache.juneau.svl.vars.CoalesceVar}
+	<li><c>$PM{arg,pattern}</c> - {@link org.apache.juneau.svl.vars.PatternMatchVar}
+	<li><c>$PR{stringArg,pattern,replace}</c>- {@link org.apache.juneau.svl.vars.PatternReplaceVar}
+	<li><c>$PE{arg,pattern,groupIndex}</c> - {@link org.apache.juneau.svl.vars.PatternExtractVar}
+	<li><c>$UC{arg}</c> - {@link org.apache.juneau.svl.vars.UpperCaseVar}
+	<li><c>$LC{arg}</c> - {@link org.apache.juneau.svl.vars.LowerCaseVar}
+	<li><c>$NE{arg}</c> - {@link org.apache.juneau.svl.vars.NotEmptyVar}
+	<li><c>$LN{arg[,delimiter]}</c> - {@link org.apache.juneau.svl.vars.LenVar}
+	<li><c>$ST{arg,start[,end]}</c> - {@link org.apache.juneau.svl.vars.SubstringVar}
+</ul>
+</div><!-- END: 2.27.3 - juneau-marshall.SimpleVariableLanguage.DefaultVarResolver -->
+
+<!-- ==================================================================================================== -->
+
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.SimpleVariableLanguage.OtherNotes' id='juneau-marshall.SimpleVariableLanguage.OtherNotes'>2.27.4 - Other Notes</a></h4>
+<div class='topic'><!-- START: 2.27.4 - juneau-marshall.SimpleVariableLanguage.OtherNotes -->
+<ul class='spaced-list'>
+	<li>
+		The escape character <js>'\'</js> can be used when necessary to escape the following characters: 
+		<c>$ , { }</c>
+	<li>
+		<b>WARNING:</b>  It is possible to cause {@link java.lang.StackOverflowError StackOverflowErrors} if 
+		your nested variables result in a recursive loop (e.g. the environment variable 
+		<c>'MYPROPERTY'</c> has the value <c>'$E{MYPROPERTY}'</c>).
+		So don't do that!
+	<li>
+		As a general rule, this class tries to be as efficient as possible by not creating new strings when not 
+		needed.
+		<br>For example, calling the resolve method on a string that doesn't contain variables (e.g. 
+		<c>resolver.resolve(<js>"foobar"</js>)</c>) will simply be a no-op and return the same string.
+</ul>
+</div><!-- END: 2.27.4 - juneau-marshall.SimpleVariableLanguage.OtherNotes -->
+</div><!-- END: 2.27 - juneau-marshall.SimpleVariableLanguage -->
+
+<!-- ==================================================================================================== -->
+
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall.BestPractices' id='juneau-marshall.BestPractices'>2.28 - Best Practices</a></h3>
+<div class='topic'><!-- START: 2.28 - juneau-marshall.BestPractices -->
+<ol class='spaced-list'>
+	<li>
+		Reuse instances of serializers and parsers whenever possible.
+		<br>They are designed to be thread safe and maintain internal caches of bean metadata to increase performance.
+	<li>
+		The {@link org.apache.juneau.BeanTraverseContext#BEANTRAVERSE_detectRecursions BEANTRAVERSE_detectRecursions} 
+		option on the {@link org.apache.juneau.serializer.Serializer} class can cause a performance penalty of 
+		around 20%.  
+		<br>Therefore, it's recommended that this option be used only when necessary. 
+	<li>
+		In general, JSON serialization and parsing is about 20% faster than XML.  
+		JSON is also more compact than XML.
+		<br>MessagePack is fastest and most compact of all.
+	<li>
+		The RDF parsers are SLOW.
+		<br>RDF simply isn't efficient with node traversal, so creating tree structures out of RDF models
+		is highly inefficient.  	
+	<li>
+		The {@link org.apache.juneau.parser.Parser} methods that take in {@link org.apache.juneau.ClassMeta} 
+		parameters are slightly faster than methods that 
+		take in {@link java.lang.Class} or {@link java.lang.Object} parameters, since the latter methods involve 
+		hash lookups to resolve to {@link org.apache.juneau.ClassMeta} parameters.
+</ol>
+</div><!-- END: 2.28 - juneau-marshall.BestPractices -->
+</div><!-- END: 2 - juneau-marshall -->
+
+<!-- ==================================================================================================== -->
+
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf' id='juneau-marshall-rdf'>3 - juneau-marshall-rdf</a></h2>
+<div class='topic'><!-- START: 3 - juneau-marshall-rdf -->
+<h5 class='figure'>Maven Dependency</h5>
+<p class='bpcode w500'>
+	<xt>&lt;dependency&gt;</xt>
+		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
+		<xt>&lt;artifactId&gt;</xt>juneau-marshall-rdf<xt>&lt;/artifactId&gt;</xt>
+		<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
+	<xt>&lt;/dependency&gt;</xt>
+</p>	
+<h5 class='figure'>Java Library</h5>
+<p class='bpcode w500'>
+	juneau-marshall-rdf-{@property juneauVersion}.jar 
+</p>	
+<h5 class='figure'>OSGi Module</h5>
+<p class='bpcode w500'>
+	org.apache.juneau.marshall.rdf_{@property juneauVersion}.jar 
+</p>	
 <p>
-	This assigns a default prefix of <js>"ab"</js> for all classes and properties within the project, and 
-	specifies various other prefixes used within this project.
+	The <c>juneau-marshall-rdf</c> library provides additional serializers and parsers for RDF.
+	These rely on the Apache Jena library to provide support for the following languages:
 </p>
+<ul>
+	<li>RDF/XML
+	<li>RDF/XML-Abbrev 	
+	<li>N-Triple
+	<li>Turtle
+	<li>N3
+</ul>
+
+<!-- ==================================================================================================== -->
+
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails' id='juneau-marshall-rdf.RdfDetails'>3.1 - RDF Details</a></h3>
+<div class='topic'><!-- START: 3.1 - juneau-marshall-rdf.RdfDetails -->
 <p>
-	Now when we rerun the sample code, we'll get the following:
-</p>
-<p class='bpcode w800'>
-	<xt>&lt;rdf:RDF</xt>
-	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
-	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
-	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
-	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs><xt>&gt;</xt>
-	   <xt>&lt;rdf:Description&gt;</xt>
-	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
-	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
-	   <xt>&lt;/rdf:Description&gt;</xt>
-	<xt>&lt;/rdf:RDF&gt;</xt>
+	Juneau supports serializing and parsing arbitrary POJOs to and from the following RDF formats:
 </p>
+<ul>
+	<li>RDF/XML
+	<li>Abbreviated RDF/XML
+	<li>N-Triple
+	<li>Turtle
+	<li>N3
+</ul>
+
 <p>
-	Namespace auto-detection ({@link org.apache.juneau.xml.XmlSerializer#XML_autoDetectNamespaces}) is 
-	enabled on serializers by default.
-	This causes the serializer to make a first-pass over the data structure to look for namespaces.
-	In high-performance environments, you may want to consider disabling auto-detection and providing an 
-	explicit list of namespaces to the serializer to avoid this scanning step.
+	The serializers and parsers work identically to those in <c>juneau-marshall</c>, but are
+	packaged separately so that you don't need to pull in the Jena dependency unless you need it.
 </p>
+
 <p class='bpcode w800'>
-	<jc>// Create a new serializer, but manually specify the namespaces.</jc>
-	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
-		.xmlabbrev()
-		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3)
-		.autoDetectNamespaces(<jk>false</jk>)
-		.namespaces(<js>"{per:'http://www.apache.org/person/'}"</js>)
-		.build();
-</p>
-<p>
-	This code change will produce the same output as before, but will perform slightly better since it doesn't 
-	have to crawl the POJO tree before serializing the result.
+	<jc>// A simple bean</jc>
+	<jk>public class</jk> Person {
+		<jk>public</jk> String name = <js>"John Smith"</js>;
+		<jk>public int</jk> age = 21;
+	}
+	
+	<jc>// Serialize a bean to JSON, XML, or HTML</jc>
+	Person p = <jk>new</jk> Person();
+
+	<jc>// Produces:
+	// &lt;rdf:RDF
+	//  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+	//  xmlns:jp="http://www.apache.org/juneaubp/"
+	//  xmlns:j="http://www.apache.org/juneau/"&gt;
+	// 	&lt;rdf:Description&gt;
+	// 		&lt;jp:name&gt;John Smith&lt;/jp:name&gt;
+	// 		&lt;jp:age&gt;21&lt;/jp:age&gt;
+	// 	&lt;/rdf:Description&gt;
+	// &lt;/rdf:RDF&gt;</jc>
+	String rdfXml = RdfSerializer.<jsf>DEFAULT_XMLABBREV</jsf>.serialize(p);
+	
+	<jc>// Produces:
+	// @prefix jp:      &lt;http://www.apache.org/juneaubp/&gt; .
+	// @prefix j:       &lt;http://www.apache.org/juneau/&gt; .
+	//	[]    jp:age  "21" ;
+	//	      jp:name "John Smith" .</jc>
+	String rdfN3 = N3Serializer.<jsf>DEFAULT</jsf>.serialize(p);
+
+	<jc>// Produces:
+	// _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd &lt;http://www.apache.org/juneaubp/name&gt; "John Smith" .
+	// _:A3bf53c85X3aX157cf407e2dX3aXX2dX7ffd &lt;http://www.apache.org/juneaubp/age&gt; "21" .</jc>
+	String rdfNTriple = RdfSerializer.<jsf>DEFAULT_NTRIPLE</jsf>.serialize(p);
 </p>
-</div><!-- END: 3.1.4 - juneau-marshall-rdf.RdfDetails.Namespaces -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.UriProperties' id='juneau-marshall-rdf.RdfDetails.UriProperties'>3.1.5 - URI Properties</a></h4>
-<div class='topic'><!-- START: 3.1.5 - juneau-marshall-rdf.RdfDetails.UriProperties -->
-<p>
-	Bean properties of type <c>java.net.URI</c> or <c>java.net.URL</c> have special meaning to the 
-	RDF serializer.
-	They are interpreted as resource identifiers.
-</p>
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Serializers' id='juneau-marshall-rdf.RdfDetails.Serializers'>3.1.1 - RDF Serializers</a></h4>
+<div class='topic'><!-- START: 3.1.1 - juneau-marshall-rdf.RdfDetails.Serializers -->
 <p>
-	In the following code, we're adding 2 new properties.
-	The first property is annotated with <ja>@BeanProperty</ja> to identify that this property is the resource 
-	identifier for this bean.
-	The second un-annotated property is interpreted as a reference to another resource.
-</p>
-<p class='bpcode w800'>	
-	<jk>public class</jk> Person {
-		
-		<jc>// Bean properties</jc>
-		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) 
-		<jk>public</jk> URI <jf>uri</jf>;
-		
-		<jk>public</jk> URI <jf>addressBookUri</jf>;
-	
-		...
-		
-		<jc>// Normal constructor</jc>
-		<jk>public</jk> Person(<jk>int</jk> id, String name, String uri, String addressBookUri) <jk>throws</jk> URISyntaxException {
-			<jk>this</jk>.<jf>id</jf> = id;
-			<jk>this</jk>.<jf>name</jf> = name;
-			<jk>this</jk>.<jf>uri</jf> = <jk>new</jk> URI(uri);
-			<jk>this</jk>.<jf>addressBookUri</jf> = <jk>new</jk> URI(addressBookUri);
-		}
-	}
-</p>
-<p>
-	We alter our code to pass in values for these new properties.
-</p>
-<p class='bpcode w800'>
-	<jc>// Create our bean.</jc>
-	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
-		<js>"http://sample/addressBook"</js>);
-</p>
-<p>
-	Now when we run the sample code, we get the following:
-</p>
-<p class='bpcode w800'>
-	<xt>&lt;rdf:RDF</xt>
-	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
-	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
-	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
-	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs><xt>&gt;</xt>
-	   <xt>&lt;rdf:Description <b><xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs></b>&gt;</xt>
-	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
-	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
-	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
-	   <xt>&lt;/rdf:Description&gt;</xt>
-	<xt>&lt;/rdf:RDF&gt;</xt>
-</p>
-<p>
-	The {@link org.apache.juneau.annotation.URI @URI} annotation can also be used on classes and properties 
-	to identify them as URLs when they're not instances of <c>java.net.URI</c> or <c>java.net.URL</c> 
-	(not needed if <c><ja>@Rdf</ja>(beanUri=<jk>true</jk>)</c> is already specified).
-</p>
-<p>
-	The following properties would have produced the same output as before.  
-	Note that the <ja>@URI</ja> annotation is only needed on the second property.
-</p>
-<p class='bpcode w800'>
-	<jk>public class</jk> Person {
-		
-		<jc>// Bean properties</jc>
-		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) <jk>public</jk> String <jf>uri</jf>;
-		
-		<ja>@URI</ja> <jk>public</jk> String <jf>addressBookUri</jf>;
-</p>
-<p>
-	Also take note of the {@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriResolution},
-	{@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriRelativity}, and 
-	and {@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriContext}
-	settings that can be specified on the serializer to resolve relative and context-root-relative URIs to 
-	fully-qualified URIs.
-</p>
-<p>
-	This can be useful if you want to keep the URI authority and context root information out of the bean logic 
-	layer.
-</p>
-<p>
-	The following code produces the same output as before, but the URIs on the beans are relative.
-</p>
-<p class='bpcode w800'>
-	<jc>// Create a new serializer with readable output.</jc>
-	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
-		.xmlabbrev()
-		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3);
-		.relativeUriBase(<js>"http://myhost/sample"</js>);
-		.absolutePathUriBase(<js>"http://myhost"</js>)
-		.build();
-		
-	<jc>// Create our bean.</jc>
-	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"person/1"</js>, <js>"/"</js>);
-
-	<jc>// Serialize the bean to RDF/XML.</jc>
-	String rdfXml = s.serialize(p);
-</p>
-</div><!-- END: 3.1.5 - juneau-marshall-rdf.RdfDetails.UriProperties -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.RootProperty' id='juneau-marshall-rdf.RdfDetails.RootProperty'>3.1.6 - Root Property</a></h4>
-<div class='topic'><!-- START: 3.1.6 - juneau-marshall-rdf.RdfDetails.RootProperty -->
-<p>
-	For all RDF languages, the POJO objects get broken down into simple triplets.
-	Unfortunately, for tree-structured data like the POJOs shown above, this causes the root node of the tree 
-	to become lost.
-	There is no easy way to identify that <c>person/1</c> is the root node in our tree once in triplet 
-	form, and in some cases it's impossible.
-</p>
-<p>
-	By default, the {@link org.apache.juneau.jena.RdfParser} class handles this by scanning all the nodes and 
-	identifying the nodes without incoming references.
-	However, this is inefficient, especially for large models.
-	And in cases where the root node is referenced by another node in the model by URL, it's not possible to 
-	locate the root at all.
-</p>
-<p>
-	To resolve this issue, the property {@link org.apache.juneau.jena.RdfSerializer#RDF_addRootProperty} 
-	was introduced.
-	When enabled, this adds a special <c>root</c> attribute to the root node to make it easy to locate 
-	by the parser.
-</p>
-<p>
-	To enable, set the <jsf>RDF_addRootProperty</jsf> property to <jk>true</jk> on the serializer:
-</p>
-<p class='bpcode w800'>
-	<jc>// Create a new serializer.</jc>
-	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
-		.xmlabbrev()
-		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
-		.addRootProperty(<jk>true</jk>)
-		.build();
-</p>	
-<p>
-	Now when we rerun the sample code, we'll see the added <c>root</c> attribute on the root resource.
-</p>
-<p class='bpcode w800'>
-	<xt>&lt;rdf:RDF</xt>
-	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
-	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
-	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
-	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs>
-	    <xa>xmlns:mail</xa>=<xs>"http://www.apache.org/mail/"</xs>
-	    <xa>xmlns:addr</xa>=<xs>"http://www.apache.org/address/"</xs><xt>&gt;</xt>
-	   <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs>&gt;</xt>
-  	      <b><xt>&lt;j:root&gt;</xt>true<xt>&lt;/j:root&gt;</xt></b>
-  	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
-	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
-	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
-	      <xt>&lt;per:addresses&gt;</xt>
-	         <xt>&lt;rdf:Seq&gt;</xt>
-	            <xt>&lt;rdf:li&gt;</xt>
-	               <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/address/1"</xs>&gt;</xt>
-	                  <xt>&lt;addr:personUri <xa>rdf:resource</xa>=<xs>"http://sample/addressBook/person/1"</xs>/&gt;</xt>
-	                  <xt>&lt;addr:id&gt;</xt>1<xt>&lt;/addr:id&gt;</xt>
-	                  <xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
-	                  <xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
-	                  <xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
-	                  <xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
-	                  <xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
-	               <xt>&lt;/rdf:Description&gt;</xt>
-	            <xt>&lt;/rdf:li&gt;</xt>
-	         <xt>&lt;/rdf:Seq&gt;</xt>
-	      <xt>&lt;/per:addresses&gt;</xt>
-	   <xt>&lt;/rdf:Description&gt;</xt>
-	<xt>&lt;/rdf:RDF&gt;</xt>
-</p>
-</div><!-- END: 3.1.6 - juneau-marshall-rdf.RdfDetails.RootProperty -->
-
-<!-- ==================================================================================================== -->
-
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.TypedLiterals' id='juneau-marshall-rdf.RdfDetails.TypedLiterals'>3.1.7 - Typed Literals</a></h4>
-<div class='topic'><!-- START: 3.1.7 - juneau-marshall-rdf.RdfDetails.TypedLiterals -->
-<p>
-	XML-Schema data-types can be added to non-<c>String</c> literals through the 
-	{@link org.apache.juneau.jena.RdfSerializer#RDF_addLiteralTypes} setting.
-</p>
-<p>
-	To enable, set the <jsf>RDF_addLiteralTypes</jsf> property to <jk>true</jk> on the serializer:
-</p>
-<p class='bpcode w800'>
-	<jc>// Create a new serializer (revert back to namespace autodetection).</jc>
-	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
-		.xmlabbrev()
-		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
-		.addLiteralTypes(<jk>true</jk>)
-		.build();
-</p>	
-<p>
-	Now when we rerun the sample code, we'll see the added <c>root</c> attribute on the root resource.
-</p>
-<p class='bpcode w800'>
-	<xt>&lt;rdf:RDF</xt>
-	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
-	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
-	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
-	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs>
-	    <xa>xmlns:mail</xa>=<xs>"http://www.apache.org/mail/"</xs>
-	    <xa>xmlns:addr</xa>=<xs>"http://www.apache.org/address/"</xs><xt>&gt;</xt>
-	   <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs>&gt;</xt>
-  	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
-	      <xt>&lt;per:id</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b><xt>&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
-	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
-	      <xt>&lt;per:addresses&gt;</xt>
-	         <xt>&lt;rdf:Seq&gt;</xt>
-	            <xt>&lt;rdf:li&gt;</xt>
-	               <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/address/1"</xs>&gt;</xt>
-	                  <xt>&lt;addr:personUri <xa>rdf:resource</xa>=<xs>"http://sample/addressBook/person/1"</xs>/&gt;</xt>
-	                  <xt>&lt;addr:id</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b>&gt;</xt>1<xt>&lt;/addr:id&gt;</xt>
-	                  <xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
-	                  <xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
-	                  <xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
-	                  <xt>&lt;mail:zip</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b>&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
-	                  <xt>&lt;addr:isCurrent</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#boolean"</xs></b>&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
-	               <xt>&lt;/rdf:Description&gt;</xt>
-	            <xt>&lt;/rdf:li&gt;</xt>
-	         <xt>&lt;/rdf:Seq&gt;</xt>
-	      <xt>&lt;/per:addresses&gt;</xt>
-	   <xt>&lt;/rdf:Description&gt;</xt>
-	<xt>&lt;/rdf:RDF&gt;</xt>
-</p>
-</div><!-- END: 3.1.7 - juneau-marshall-rdf.RdfDetails.TypedLiterals -->
-</div><!-- END: 3.1 - juneau-marshall-rdf.RdfDetails -->
-</div><!-- END: 3 - juneau-marshall-rdf -->
-
-<!-- ==================================================================================================== -->
-
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-dto' id='juneau-dto'>4 - juneau-dto</a></h2>
-<div class='topic'><!-- START: 4 - juneau-dto -->
-<h5 class='figure'>Maven Dependency</h5>
-<p class='bpcode w500'>
-	<xt>&lt;dependency&gt;</xt>
-		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
-		<xt>&lt;artifactId&gt;</xt>juneau-dto<xt>&lt;/artifactId&gt;</xt>
-		<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
-	<xt>&lt;/dependency&gt;</xt>
-</p>	
-<h5 class='figure'>Java Library</h5>
-<p class='bpcode w500'>
-	juneau-dto-{@property juneauVersion}.jar 
-</p>	
-<h5 class='figure'>OSGi Module</h5>
-<p class='bpcode w500'>
-	org.apache.juneau.dto_{@property juneauVersion}.jar 
+	The {@link org.apache.juneau.jena.RdfSerializer} class is the top-level class for all Jena-based serializers.
+	Language-specific serializers are defined as inner subclasses of the <c>RdfSerializer</c> class:
 </p>	
-<p>
-	The <c>juneau-dto</c> library contains several predefined POJOs for generating commonly-used document types.
-	This section describes support for these POJOs.
-</p>
-
-<!-- ==================================================================================================== -->
-
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.HTML5' id='juneau-dto.HTML5'>4.1 - HTML5</a></h3>
-<div class='topic'><!-- START: 4.1 - juneau-dto.HTML5 -->
-<p>
-	The Juneau HTML5 DTOs are simply beans with fluent-style setters that allow you to quickly construct HTML
-	fragments as Java objects.  These object can then be serialized to HTML using one of the existing HTML 
-	serializers, or to other languages such as JSON using the JSON serializers.
-</p>
-<p>
-	The {@link org.apache.juneau.dto.html5.HtmlBuilder} class is a utility class with predefined static methods
-	that allow you to easily construct DTO instances in a minimal amount of code. 
-</p>
-<p>
-	The following examples show how to create HTML tables.
-</p>
-<table class='styled w800'>
-	<tr>
-		<th>Java code</th>
-		<th>HTML</th>
-	</tr>
-	<tr>
-		<td class='code'>
-	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
-	
-	Object mytable = 	
-		<jsm>table</jsm>(
-			<jsm>tr</jsm>(
-				<jsm>th</jsm>(<js>"c1"</js>),
-				<jsm>th</jsm>(<js>"c2"</js>)
-			),
-			<jsm>tr</jsm>(
-				<jsm>td</jsm>(<js>"v1"</js>),
-				<jsm>td</jsm>(<js>"v2"</js>)
-			)
-		);
-
-	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(mytable);
-		</td>
-		<td class='code'><xt>
-	&lt;table&gt;
-		&lt;tr&gt;
-			&lt;th&gt;<xv>c1</xv>&lt;/th&gt;
-			&lt;th&gt;<xv>c2</xv>&lt;/th&gt;
-		&lt;/tr&gt;
-		&lt;tr&gt;
-			&lt;td&gt;<xv>v1</xv>&lt;/td&gt;
-			&lt;td&gt;<xv>v2</xv>&lt;/td&gt;
-		&lt;/tr&gt;
-	&lt;/table&gt;
-		</xt></td>
-	</tr>
-	<tr>
-		<td class='code'>
-	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
-		
-	Object mydiv = 	
-		<jsm>div</jsm>().align(<js>"center"</js>).onmouseover(<js>"alert(\"boo!\");"</js>)
-		.children(
-			<jsm>p</jsm>(<js>"Juneau supports "</js>, <jsm>b</jsm>(<jsm>i</jsm>(<js>"mixed"</js>)), <js>" content!"</js>)
-		);
-
-	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(mydiv);
-		</td>
-		<td class='code'><xt>
-	&lt;div <xa>align</xa>=<xs>'center'</xs> <xa>onmouseover</xa>=<xs>'alert("boo!");'</xs>&gt;
-		&lt;p&gt;<xv>Juneau supports </xv>&lt;b&gt;&lt;i&gt;<xv>mixed</xv>&lt;/i&gt;&lt;/b&gt; <xv>content!</xv>&lt;/p&gt;
-	&lt;/table&gt;
-		</xt></td>
-	</tr>
-	<tr>
-		<td class='code'>
-	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
-		
-	Object myform =
-		<jsm>form</jsm>().action(<js>"/submit"</js>).method(<js>"POST"</js>)
-		.children(
-			<js>"Position (1-10000): "</js>, <jsm>input</jsm>(<js>"number"</js>).name(<js>"pos"</js>).value(1), <jsm>br</jsm>(),
-			<js>"Limit (1-10000): "</js>, <jsm>input</jsm>(<js>"number"</js>).name(<js>"limit"</js>).value(100), <jsm>br</jsm>(),
-			<jsm>button</jsm>(<js>"submit"</js>, <js>"Submit"</js>),
-			<jsm>button</jsm>(<js>"reset"</js>, <js>"Reset"</js>)
-		); 	
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
+	<ul>
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlSerializer}
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer}
+		<li class='jc'>{@link org.apache.juneau.jena.N3Serializer}
+		<li class='jc'>{@link org.apache.juneau.jena.NTripleSerializer}
+		<li class='jc'>{@link org.apache.juneau.jena.TurtleSerializer}
+	</ul>
+</ul>
 
-	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(myform);
-		</td>
-		<td class='code'><xt>
-		&lt;form <xa>action</xa>=<xs>'/submit'</xs> <xa>method</xa>=<xs>'POST'</xs>&gt;
-			<xv>Position (1-10000):</xv> &lt;input <xa>name</xa>=<xs>'pos'</xs> <xa>type</xa>=<xs>'number'</xs> 
-				<xa>value</xa>=<xs>'1'</xs>/&gt;&lt;br/&gt;
-			<xv>Limit (1-10000):</xv> &lt;input <xa>name</xa>=<xs>'pos'</xs> <xa>type</xa>=<xs>'number'</xs> 
-				<xa>value</xa>=<xs>'100'</xs>/&gt;&lt;br/&gt;
-			&lt;button <xa>type</xa>=<xs>'submit'</xs>&gt;<xv>Submit</xv>&lt;/button&gt;
-			&lt;button <xa>type</xa>=<xs>'reset'</xs>&gt;<xv>Reset</xv>&lt;/button&gt;			 
-		&lt;/form&gt;
-		</xt></td>
-	</tr>
-</table>
-<p>
-	Using the HTML5 DTOs, you should be able to construct any valid HTML5 from full document bodies
-	to any possible fragments.
-</p>
+<ul class='javatree'>
+	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.Common Common Properties}
+	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.CommonSerializer Common Serializer Properties}
+	<li class='jic'>{@link org.apache.juneau.jena.RdfCommon}
+	<ul>
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_embedding RDF_arp_embedding}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_err_ RDF_arp_err_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_errorMode RDF_arp_errorMode}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_ign_ RDF_arp_ign_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_iriRules RDF_arp_iriRules}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_warn_ RDF_arp_warn_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_collectionFormat RDF_collectionFormat}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauBpNs RDF_juneauBpNs}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauNs RDF_juneauNs}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_language RDF_language}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_looseCollections RDF_looseCollections}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_abbrevBaseUri RDF_n3_abbrevBaseUri}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_indentProperty RDF_n3_indentProperty}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_minGap RDF_n3_minGap}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_objectLists RDF_n3_objectLists}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_propertyColumn RDF_n3_propertyColumn}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_subjectColumn RDF_n3_subjectColumn}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useDoubles RDF_n3_useDoubles}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_usePropertySymbols RDF_n3_usePropertySymbols}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useTripleQuotedStrings RDF_n3_useTripleQuotedStrings}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_widePropertyLen RDF_n3_widePropertyLen}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_allowBadUris RDF_rdfxml_allowBadUris}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_attributeQuoteChar RDF_rdfxml_attributeQuoteChar}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_blockRules RDF_rdfxml_blockRules}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_longId RDF_rdfxml_longId}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_relativeUris RDF_rdfxml_relativeUris}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showDoctypeDeclaration RDF_rdfxml_showDoctypeDeclaration}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showXmlDeclaration RDF_rdfxml_showXmlDeclaration}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_tab RDF_rdfxml_tab}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_xmlBase RDF_rdfxml_xmlBase}
+	</ul>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
+	<ul>
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addBeanTypes RDF_addBeanTypes}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addLiteralTypes RDF_addLiteralTypes}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_addRootProperty RDF_addRootProperty}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_autoDetectNamespaces RDF_autoDetectNamespaces}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_namespaces RDF_namespaces}				
+		<li class='jf'>{@link org.apache.juneau.jena.RdfSerializer#RDF_useXmlNamespaces RDF_useXmlNamespaces}					
+	</ul>
+</ul>
 <p>
-	The {@link org.apache.juneau.html.HtmlParser} class can be used convert these HTML documents back
-	into POJOs.
+	The following pre-configured serializers are provided for convenience:
 </p>
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfSerializer}
+	<ul>
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlSerializer}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlSerializer#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlAbbrevSerializer#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.N3Serializer}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.N3Serializer#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.NTripleSerializer}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.NTripleSerializer#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.TurtleSerializer}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.TurtleSerializer#DEFAULT DEFAULT}
+		</ul>
+	</ul>
+</ul>
 <p>
-	Other serializers and parsers (e.g. {@link org.apache.juneau.json.JsonSerializer}) can be used to 
-	represent these POJOs in languages other than HTML.
+	Abbreviated RDF/XML is currently the most widely accepted and readable RDF syntax, so the examples shown here 
+	will use that format.
 </p>
-
-<h5 class='toc'>Additional Information - org.apache.juneau.dto.html5</h5>
-<ol class='toc'>
-	<li><p>{@doc org.apache.juneau.dto.html5#Overview Overview}</p>
-	<ol>
-		<li><p>{@doc org.apache.juneau.dto.html5#Serialize Generating HTML5}</p>
-		<li><p>{@doc org.apache.juneau.dto.html5#Parse Parsing HTML5}</p>
-		<li><p>{@doc org.apache.juneau.dto.html5#Templates HTML5 Templates}</p>
-	</ol>
-</ol>
-</div><!-- END: 4.1 - juneau-dto.HTML5 -->
+</div><!-- END: 3.1.1 - juneau-marshall-rdf.RdfDetails.Serializers -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.Atom' id='juneau-dto.Atom'>4.2 - Atom</a></h3>
-<div class='topic'><!-- START: 4.2 - juneau-dto.Atom -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Parsers' id='juneau-marshall-rdf.RdfDetails.Parsers'>3.1.2 - RDF Parsers</a></h4>
+<div class='topic'><!-- START: 3.1.2 - juneau-marshall-rdf.RdfDetails.Parsers -->
 <p>
-	The Juneau ATOM feed DTOs are simply beans with fluent-style setters.
-	The following code shows a feed being created programmatically using the 
-	{@link org.apache.juneau.dto.atom.AtomBuilder} class.
-</p>
-<p class='bpcode w800'>
-	<jk>import static</jk> org.apache.juneau.dto.atom.AtomBuilder.*;
-	
-	Feed feed = 
-		<jsm>feed</jsm>(<js>"tag:juneau.apache.org"</js>, <js>"Juneau ATOM specification"</js>, <js>"2016-01-02T03:04:05Z"</js>)
-		.subtitle(<jsm>text</jsm>(<js>"html"</js>).text(<js>"Describes &lt;em&gt;stuff&lt;/em&gt; about Juneau"</js>))
-		.links(
-			<jsm>link</jsm>(<js>"alternate"</js>, <js>"text/html"</js>, <js>"http://juneau.apache.org"</js>).hreflang(<js>"en"</js>),
-			<jsm>link</jsm>(<js>"self"</js>, <js>"application/atom+xml"</js>, <js>"http://juneau.apache.org/feed.atom"</js>)
-		)
-		.rights(<js>"Copyright (c) ..."</js>)
-		.generator(
-			<jsm>generator</jsm>(<js>"Juneau"</js>).uri(<js>"http://juneau.apache.org/"</js>).version(<js>"1.0"</js>)
-		)
-		.entries(
-			<jsm>entry</jsm>(<js>"tag:juneau.sample.com,2013:1.2345"</js>, <js>"Juneau ATOM specification snapshot"</js>, <js>"2016-01-02T03:04:05Z"</js>)
-			.links(
-				<jsm>link</jsm><js>"alternate"</js>, <js>"text/html"</js>, <js>"http://juneau.apache.org/juneau.atom"</js>),
-				<jsm>link</jsm>(<js>"enclosure"</js>, <js>"audio/mpeg"</js>, <js>"http://juneau.apache.org/audio/juneau_podcast.mp3"</js>).length(1337)
-			)
-			.published(<js>"2016-01-02T03:04:05Z"</js>)
-			.authors(
-				<jsm>person</jsm>(<js>"Jane Smith"</js>).uri(<js>"http://juneau.apache.org/"</js>).email(<js>"janesmith@apache.org"</js>)
-			)
-			.contributors(
-				<jsm>person</jsm>(<js>"John Smith"</js>)
-			)
-			.content(
-				<jsm>content</jsm>(<js>"xhtml"</js>)
-				.lang(<js>"en"</js>)
-				.base(<js>"http://www.apache.org/"</js>)
-				.text(<js>"&lt;div&gt;&lt;p&gt;&lt;i&gt;[Update: Juneau supports ATOM.]&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;"</js>)
-			)
-		);
-</p>
+	The {@link org.apache.juneau.jena.RdfParser} class is the top-level class for all Jena-based parsers.
+	Language-specific parsers are defined as inner subclasses of the <c>RdfParser</c> class:
+</p>	
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
+	<ul>
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlParser}
+		<li class='jc'>{@link org.apache.juneau.jena.NTripleParser}
+		<li class='jc'>{@link org.apache.juneau.jena.TurtleParser}
+		<li class='jc'>{@link org.apache.juneau.jena.N3Parser}
+	</ul>
+</ul>
 <p>
-	To serialize this to ATOM, use the {@link org.apache.juneau.xml.XmlSerializer} class:
-</p>
-
-<h5 class='figure'>Example with no namespaces</h5>
-<p class='bpcode w800'>
-	<jc>// Create a serializer with readable output, no namespaces yet.</jc>
-	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
-
-	<jc>// Serialize to ATOM/XML</jc>
-	String atomXml = s.serialize(feed);
+	The <c>RdfParser.Xml</c> parser handles both regular and abbreviated RDF/XML.
 </p>
-
-<h5 class='figure'>Results</h5>
-<p class='bpcode w800'>
-	<xt>&lt;feed&gt;</xt>
-		<xt>&lt;id&gt;</xt>
-			tag:juneau.apache.org
-		<xt>&lt;/id&gt;</xt>
-		<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/'</xs> <xa>rel</xa>=<xs>'alternate'</xs> 
-			<xa>type</xa>=<xs>'text/html'</xs> <xa>hreflang</xa>=<xs>'en'</xs>/<xt>&gt;</xt>
-		<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/feed.atom'</xs> <xa>rel</xa>=<xs>'self'</xs> 
-			<xa>type</xa>=<xs>'application/atom+xml'</xs>/<xt>&gt;</xt>
-		<xt>&lt;rights&gt;</xt>
-			Copyright (c) ...
-		<xt>&lt;/rights&gt;</xt>
-		<xt>&lt;title</xt> <xa>type</xa>=<xs>'text'</xs>&gt;</xt>
-			Juneau ATOM specification
-		<xt>&lt;/title&gt;</xt>
-		<xt>&lt;updated&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/updated&gt;</xt>
-		<xt>&lt;generator</xt> <xa>uri</xa>=<xs>'http://juneau.apache.org/'</xs> <xa>version</xa>=<xs>'1.0'</xs><xt>&gt;</xt>
-			Juneau
-		<xt>&lt;/generator&gt;</xt>
-		<xt>&lt;subtitle</xt> <xa>type</xa>=<xs>'html'</xs><xt>&gt;</xt>
-			Describes &lt;em&gt;stuff&lt;/em&gt; about Juneau
-		<xt>&lt;/subtitle&gt;</xt>
-		<xt>&lt;entry&gt;</xt>
-			<xt>&lt;author&gt;</xt>
-				<xt>&lt;name&gt;</xt>Jane Smith<xt>&lt;/name&gt;</xt>
-				<xt>&lt;uri&gt;</xt>http://juneau.apache.org/<xt>&lt;/uri&gt;</xt>
-				<xt>&lt;email&gt;</xt>janesmith@apache.org<xt>&lt;/email&gt;</xt>
-			<xt>&lt;/author&gt;</xt>
-			<xt>&lt;contributor&gt;</xt>
-				<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
-			<xt>&lt;/contributor&gt;</xt>
-			<xt>&lt;id&gt;</xt>
-				tag:juneau.apache.org
-			<xt>&lt;/id&gt;</xt>
-			<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/juneau.atom'</xs> 
-				<xa>rel</xa>=<xs>'alternate'</xs> <xa>type</xa>=<xs>'text/html'</xs>/<xt>&gt;</xt>
-			<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/audio/juneau_podcast.mp3'</xs> 
-				<xa>rel</xa>=<xs>'enclosure'</xs> <xa>type</xa>=<xs>'audio/mpeg'</xs> <xa>length</xa>=<xs>'12345'</xs>/<xt>&gt;</xt>
-			<xt>&lt;title&gt;</xt>
-				Juneau ATOM specification snapshot
-			<xt>&lt;/title&gt;</xt>
-			<xt>&lt;updated&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/updated&gt;</xt>
-			<xt>&lt;content</xt> <xa>base</xa>=<xs>'http://www.apache.org/'</xs> <xa>lang</xa>=<xs>'en'</xs> 
-				<xa>type</xa>=<xs>'xhtml'</xs><xt>&gt;</xt>
-				<xt>&lt;div</xt> <xa>xmlns</xa>=<xs>"http://www.w3.org/1999/xhtml"</xs>
-					<xt>&gt;&lt;p&gt;&lt;i&gt;</xt>[Update: Juneau supports ATOM.]<xt>&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</xt>
-			<xt>&lt;/content&gt;</xt>
-			<xt>&lt;published&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/published&gt;</xt>
-		<xt>&lt;/entry&gt;</xt>
-	<xt>&lt;/feed&gt;</xt>		
+<p>
+	The RDF parser provides the following settings:
 </p>
+<ul class='javatree'>
+	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.Common Common Properties}
+	<li class='link'>{@doc juneau-marshall.ConfigurableProperties.CommonParser Common Parser Properties}
+	<li class='jic'>{@link org.apache.juneau.jena.RdfCommon}
+	<ul>
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_embedding RDF_arp_embedding}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_err_ RDF_arp_err_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_errorMode RDF_arp_errorMode}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_ign_ RDF_arp_ign_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_iriRules RDF_arp_iriRules}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_arp_warn_ RDF_arp_warn_}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_collectionFormat RDF_collectionFormat}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauBpNs RDF_juneauBpNs}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_juneauNs RDF_juneauNs}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_language RDF_language}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_looseCollections RDF_looseCollections}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_abbrevBaseUri RDF_n3_abbrevBaseUri}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_indentProperty RDF_n3_indentProperty}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_minGap RDF_n3_minGap}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_objectLists RDF_n3_objectLists}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_propertyColumn RDF_n3_propertyColumn}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_subjectColumn RDF_n3_subjectColumn}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useDoubles RDF_n3_useDoubles}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_usePropertySymbols RDF_n3_usePropertySymbols}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_useTripleQuotedStrings RDF_n3_useTripleQuotedStrings}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_n3_widePropertyLen RDF_n3_widePropertyLen}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_allowBadUris RDF_rdfxml_allowBadUris}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_attributeQuoteChar RDF_rdfxml_attributeQuoteChar}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_blockRules RDF_rdfxml_blockRules}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_longId RDF_rdfxml_longId}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_relativeUris RDF_rdfxml_relativeUris}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showDoctypeDeclaration RDF_rdfxml_showDoctypeDeclaration}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_showXmlDeclaration RDF_rdfxml_showXmlDeclaration}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_tab RDF_rdfxml_tab}
+		<li class='jf'>{@link org.apache.juneau.jena.RdfCommon#RDF_rdfxml_xmlBase RDF_rdfxml_xmlBase}
+	</ul>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
+	<ul>
+		<li class='jf'>{@link org.apache.juneau.jena.RdfParser#RDF_trimWhitespace RDF_trimWhitespace}
+	</ul>
+</ul>
 <p>
-	The {@link org.apache.juneau.xml.XmlParser} class can be used convert these Atom documents back into POJOs.
+	The following pre-configured parsers are provided for convenience:
 </p>
+<ul class='javatree'>
+	<li class='jc'>{@link org.apache.juneau.jena.RdfParser}
+	<ul>
+		<li class='jc'>{@link org.apache.juneau.jena.RdfXmlParser}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.RdfXmlParser#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.N3Parser}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.N3Parser#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.NTripleParser}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.NTripleParser#DEFAULT DEFAULT}
+		</ul>
+		<li class='jc'>{@link org.apache.juneau.jena.TurtleParser}
+		<ul>
+			<li class='jf'>{@link org.apache.juneau.jena.TurtleParser#DEFAULT DEFAULT}
+		</ul>
+	</ul>
+</ul>
+</div><!-- END: 3.1.2 - juneau-marshall-rdf.RdfDetails.Parsers -->
+
+<!-- ==================================================================================================== -->
+
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.RdfAnnotation' id='juneau-marshall-rdf.RdfDetails.RdfAnnotation'>3.1.3 - @Rdf Annotation</a></h4>
+<div class='topic'><!-- START: 3.1.3 - juneau-marshall-rdf.RdfDetails.RdfAnnotation -->
 <p>
-	Other serializers and parsers (e.g. {@link org.apache.juneau.json.JsonSerializer}) can be used to 
-	represent these POJOs in languages other than XML.
+	The {@link org.apache.juneau.jena.annotation.Rdf @Rdf} annotation
+	is used to override the behavior of the RDF serializers and parsers on individual bean classes or properties.
 </p>
-
-<h5 class='toc'>Additional Information - org.apache.juneau.dto.atom</h5>
-<ol class='toc'>
-	<li><p>{@doc org.apache.juneau.dto.atom#Overview Overview}</p>
-	<ol>
-		<li><p>{@doc org.apache.juneau.dto.atom#Serialize Serializing ATOM feeds}</p>
-		<ol>
-			<li><p>{@doc org.apache.juneau.dto.atom#AtomJson ATOM/JSON}</p>
-			<li><p>{@doc org.apache.juneau.dto.atom#AtomRdfXml ATOM/RDF/XML}</p>
-			<li><p>{@doc org.apache.juneau.dto.atom#AtomHtml ATOM/HTML}</p>
-		</ol>
-		<li><p>{@doc org.apache.juneau.dto.atom#Parse Parsing ATOM feeds}</p>
-	</ol>
-</ol>
-</div><!-- END: 4.2 - juneau-dto.Atom -->
+<ul class='javatree'>
+	<li class='ja'>{@link org.apache.juneau.jena.annotation.Rdf}
+	<ul>
+		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#beanUri() beanUri}
+		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#collectionFormat() collectionFormat}
+		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#namespace() namespace}
+		<li class='jf'>{@link org.apache.juneau.jena.annotation.Rdf#prefix() prefix}
+	</ul>
+</ul>
+</div><!-- END: 3.1.3 - juneau-marshall-rdf.RdfDetails.RdfAnnotation -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.Swagger' id='juneau-dto.Swagger'>4.3 - Swagger</a></h3>
-<div class='topic'><!-- START: 4.3 - juneau-dto.Swagger -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.Namespaces' id='juneau-marshall-rdf.RdfDetails.Namespaces'>3.1.4 - Namespaces</a></h4>
+<div class='topic'><!-- START: 3.1.4 - juneau-marshall-rdf.RdfDetails.Namespaces -->
 <p>
-	The Juneau Swagger DTOs are simply beans with fluent-style setters that allow you to quickly construct 
-	Swagger documents as Java objects.  
-	These object can then be serialized to JSON using one of the existing JSON serializers, or to other 
-	languages such as XML or HTML using the other serializers.
+	You'll notice in the previous example that Juneau namespaces are used to represent bean property names.
+	These are used by default when namespaces are not explicitly specified.
 </p>
 <p>
-	The {@link org.apache.juneau.dto.swagger.SwaggerBuilder} class is a utility class with predefined static 
-	methods that allow you to easily construct DTO instances in a minimal amount of code. 
+	The <c>juneau</c> namespace is used for generic names for objects that don't have namespaces 
+	associated with them.
 </p>
 <p>
-	The following is an example Swagger document from the 
-	<a href='http://petstore.swagger.io/'>Swagger website</a>.
+	The <c>juneaubp</c> namespace is used on bean properties that don't have namespaces associated with 
+	them.
+</p>
+<p>
+	The easiest way to specify namespaces is through annotations.
+	In this example, we're going to associate the prefix <c>'per'</c> to our bean class and all properties 
+	of this class.
+	We do this by adding the following annotation to our class:
 </p>
 <p class='bpcode w800'>
-	{
-		<jok>"swagger"</jok>: <jov>"2.0"</jov>,
-		<jok>"info"</jok>: {
-			<jok>"title"</jok>: <jov>"Swagger Petstore"</jov>,
-			<jok>"description"</jok>: <jov>"This is a sample server Petstore server."</jov>,
-			<jok>"version"</jok>: <jov>"1.0.0"</jov>,
-			<jok>"termsOfService"</jok>: <jov>"http://swagger.io/terms/"</jov>,
-			<jok>"contact"</jok>: {
-				<jok>"email"</jok>: <jov>"apiteam@swagger.io"</jov>
-			},
-			<jok>"license"</jok>: {
-				<jok>"name"</jok>: <jov>"Apache 2.0"</jov>,
-				<jok>"url"</jok>: <jov>"http://www.apache.org/licenses/LICENSE-2.0.html"</jov>
-			}
-		},
-		<jok>"host"</jok>: <jov>"petstore.swagger.io"</jov>,
-		<jok>"basePath"</jok>: <jov>"/v2"</jov>,
-		<jok>"tags"</jok>: [
-			{
-				<jok>"name"</jok>: <jov>"pet"</jov>,
-				<jok>"description"</jok>: <jov>"Everything about your Pets"</jov>,
-				<jok>"externalDocs"</jok>: {
-					<jok>"description"</jok>: <jov>"Find out more"</jov>,
-					<jok>"url"</jok>: <jov>"http://swagger.io"</jov>
-				}
-			}
-		],
-		<jok>"schemes"</jok>: [
-			<jov>"http"</jov>
-		],
-		<jok>"paths"</jok>: {
-			<jok>"/pet"</jok>: {
-				<jok>"post"</jok>: {
-					<jok>"tags"</jok>: [
-						<jov>"pet"</jov>
-					],
-					<jok>"summary"</jok>: <jov>"Add a new pet to the store"</jov>,
-					<jok>"description"</jok>: <jov>""</jov>,
-					<jok>"operationId"</jok>: <jov>"addPet"</jov>,
-					<jok>"consumes"</jok>: [
-						<jov>"application/json"</jov>,
-						<jov>"text/xml"</jov>
-					],
-					<jok>"produces"</jok>: [
-						<jov>"application/json"</jov>,
-						<jov>"text/xml"</jov>
-					],
-					<jok>"parameters"</jok>: [
-						{
-							<jok>"in"</jok>: <jov>"body"</jov>,
-							<jok>"name"</jok>: <jov>"body"</jov>,
-							<jok>"description"</jok>: <jov>"Pet object that needs to be added to the store"</jov>,
-							<jok>"required"</jok>: <jov>true</jov>
-						}
-					],
-					<jok>"responses"</jok>: {
-						<jok>"405"</jok>: {
-							<jok>"description"</jok>: <jov>"Invalid input"</jov>
-						}
-					}
-				}
-			}
+	<ja>@Rdf</ja>(prefix=<js>"per"</js>)
+	<jk>public class</jk> Person {
+</p>
+<p>
+	In general, the best approach is to define the namespace URIs at the package level using a 
+	<c>package-info.java</c> class, like so:
+</p>
+<p class='bpcode w800'>
+	<jc>// RDF namespaces used in this package</jc>
+	<ja>@RdfSchema</ja>(
+		prefix=<js>"ab"</js>,
+		rdfNs={
+			<ja>@RdfNs</ja>(prefix=<js>"ab"</js>, namespaceURI=<js>"http://www.apache.org/addressBook/"</js>),
+			<ja>@RdfNs</ja>(prefix=<js>"per"</js>, namespaceURI=<js>"http://www.apache.org/person/"</js>),
+			<ja>@RdfNs</ja>(prefix=<js>"addr"</js>, namespaceURI=<js>"http://www.apache.org/address/"</js>),
+			<ja>@RdfNs</ja>(prefix=<js>"mail"</js>, namespaceURI=<js>"http://www.apache.org/mail/"</js>)
 		}
-	}		
+	)
+	<jk>package</jk> org.apache.juneau.sample.addressbook;
+	<jk>import</jk> org.apache.juneau.xml.annotation.*;
 </p>
 <p>
-	This document can be generated by the following Java code:
+	This assigns a default prefix of <js>"ab"</js> for all classes and properties within the project, and 
+	specifies various other prefixes used within this project.
+</p>
+<p>
+	Now when we rerun the sample code, we'll get the following:
 </p>
 <p class='bpcode w800'>
-	<jk>static import</jk> org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+	<xt>&lt;rdf:RDF</xt>
+	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
+	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
+	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
+	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs><xt>&gt;</xt>
+	   <xt>&lt;rdf:Description&gt;</xt>
+	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
+	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+	   <xt>&lt;/rdf:Description&gt;</xt>
+	<xt>&lt;/rdf:RDF&gt;</xt>
+</p>
+<p>
+	Namespace auto-detection ({@link org.apache.juneau.xml.XmlSerializer#XML_autoDetectNamespaces}) is 
+	enabled on serializers by default.
+	This causes the serializer to make a first-pass over the data structure to look for namespaces.
+	In high-performance environments, you may want to consider disabling auto-detection and providing an 
+	explicit list of namespaces to the serializer to avoid this scanning step.
+</p>
+<p class='bpcode w800'>
+	<jc>// Create a new serializer, but manually specify the namespaces.</jc>
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
+		.xmlabbrev()
+		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3)
+		.autoDetectNamespaces(<jk>false</jk>)
+		.namespaces(<js>"{per:'http://www.apache.org/person/'}"</js>)
+		.build();
+</p>
+<p>
+	This code change will produce the same output as before, but will perform slightly better since it doesn't 
+	have to crawl the POJO tree before serializing the result.
+</p>
+</div><!-- END: 3.1.4 - juneau-marshall-rdf.RdfDetails.Namespaces -->
 
-	Swagger swagger = <jsm>swagger</jsm>()
-		.swagger(<js>"2.0"</js>)
-		.info(
-			<jsm>info</jsm>(<js>"Swagger Petstore"</js>, <js>"1.0.0"</js>)
-				.description(<js>"This is a sample server Petstore server."</js>)
-				.termsOfService(<js>"http://swagger.io/terms/"</js>)
-				.contact(
-					<jsm>contact</jsm>().email(<js>"apiteam@swagger.io"</js>)
-				)
-				.license(
-					<jsm>license</jsm>(<js>"Apache 2.0"</js>).url(<js>"http://www.apache.org/licenses/LICENSE-2.0.html"</js>)
-				)
-		)
-		.host(<js>"petstore.swagger.io"</js>)
-		.basePath(<js>"/v2"</js>)
-		.tags(
-			<jsm>tag</jsm>(<js>"pet"</js>).description(<js>"Everything about your Pets"</js>)
-				.externalDocs(
-					<jsm>externalDocumentation</jsm>(<js>"http://swagger.io"</js>, <js>"http://swagger.io"</js>)
-				)
-		)
-		.schemes(<js>"http"</js>)
-		.path(<js>"/pet"</js>, <js>"post"</js>,
-			<jsm>operation</jsm>()
-				.tags(<js>"pet"</js>)
-				.summary(<js>"Add a new pet to the store"</js>)
-				.description(<js>""</js>)
-				.operationId(<js>"addPet"</js>)
-				.consumes(MediaType.<jsf>JSON</jsf>, MediaType.<jsf>XML</jsf>)
-				.produces(MediaType.<jsf>JSON</jsf>, MediaType.<jsf>XML</jsf>)
-				.parameters(
-					<jsm>parameterInfo</jsm>(<js>"body"</js>, <js>"body"</js>)
-						.description(<js>"Pet object that needs to be added to the store"</js>)
-						.required(<jk>true</jk>)
-				)
-				.response(405, <jsm>responseInfo</jsm>(<js>"Invalid input"</js>))
-		);
+<!-- ==================================================================================================== -->
 
-	<jc>// Serialize using JSON serializer.</jc>
-	String swaggerJson = JsonSerializer.<jsf>DEFAULT_READABLE</jsf>.serialize(swagger);
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.UriProperties' id='juneau-marshall-rdf.RdfDetails.UriProperties'>3.1.5 - URI Properties</a></h4>
+<div class='topic'><!-- START: 3.1.5 - juneau-marshall-rdf.RdfDetails.UriProperties -->
+<p>
+	Bean properties of type <c>java.net.URI</c> or <c>java.net.URL</c> have special meaning to the 
+	RDF serializer.
+	They are interpreted as resource identifiers.
+</p>
+<p>
+	In the following code, we're adding 2 new properties.
+	The first property is annotated with <ja>@BeanProperty</ja> to identify that this property is the resource 
+	identifier for this bean.
+	The second un-annotated property is interpreted as a reference to another resource.
+</p>
+<p class='bpcode w800'>	
+	<jk>public class</jk> Person {
+		
+		<jc>// Bean properties</jc>
+		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) 
+		<jk>public</jk> URI <jf>uri</jf>;
+		
+		<jk>public</jk> URI <jf>addressBookUri</jf>;
 	
-	<jc>// Or just use toString().</jc>
-	String swaggerJson = swagger.toString();
+		...
+		
+		<jc>// Normal constructor</jc>
+		<jk>public</jk> Person(<jk>int</jk> id, String name, String uri, String addressBookUri) <jk>throws</jk> URISyntaxException {
+			<jk>this</jk>.<jf>id</jf> = id;
+			<jk>this</jk>.<jf>name</jf> = name;
+			<jk>this</jk>.<jf>uri</jf> = <jk>new</jk> URI(uri);
+			<jk>this</jk>.<jf>addressBookUri</jf> = <jk>new</jk> URI(addressBookUri);
+		}
+	}
 </p>
 <p>
-	Methods that take in beans and collections of beans can also take in JSON representations
-	of those objects.
+	We alter our code to pass in values for these new properties.
 </p>
 <p class='bpcode w800'>
-	<jc>// Pass in a JSON object representation of an Info object.</jc>
-	swagger.info(<js>"{title:'Swagger Petstore',...}"</js>);
+	<jc>// Create our bean.</jc>
+	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
+		<js>"http://sample/addressBook"</js>);
 </p>
 <p>
-	Properties can also be accessed via the {@link org.apache.juneau.dto.swagger.SwaggerElement#get(String,Class)}
-	and {@link org.apache.juneau.dto.swagger.SwaggerElement#set(String,Object)} methods.
-	These methods can also be used to set and retrieve non-Swagger attributes such as 
-	<js>"$ref"</js> (which is not a part of the Swagger spec, but is part of the JSON Schema spec).
+	Now when we run the sample code, we get the following:
 </p>
 <p class='bpcode w800'>
-	<jc>// Set a non-standard attribute.</jc>
-	swagger.set(<js>"$ref"</js>, <js>"http://foo.com"</js>);
-	
-	<jc>// Retrieve a non-standard attribute.</jc>
-	URI ref = swagger.get(<js>"$ref"</js>, URI.<jk>class</jk>);
+	<xt>&lt;rdf:RDF</xt>
+	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
+	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
+	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
+	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs><xt>&gt;</xt>
+	   <xt>&lt;rdf:Description <b><xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs></b>&gt;</xt>
+	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
+	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
+	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+	   <xt>&lt;/rdf:Description&gt;</xt>
+	<xt>&lt;/rdf:RDF&gt;</xt>
 </p>
 <p>
-	Swagger docs can be parsed back into Swagger beans using the following code:
+	The {@link org.apache.juneau.annotation.URI @URI} annotation can also be used on classes and properties 
+	to identify them as URLs when they're not instances of <c>java.net.URI</c> or <c>java.net.URL</c> 
+	(not needed if <c><ja>@Rdf</ja>(beanUri=<jk>true</jk>)</c> is already specified).
+</p>
+<p>
+	The following properties would have produced the same output as before.  
+	Note that the <ja>@URI</ja> annotation is only needed on the second property.
 </p>
 <p class='bpcode w800'>
-	Swagger swagger = JsonParser.<jsf>DEFAULT</jsf>.parse(swaggerJson, Swagger.<jk>class</jk>);
+	<jk>public class</jk> Person {
+		
+		<jc>// Bean properties</jc>
+		<ja>@Rdf</ja>(beanUri=<jk>true</jk>) <jk>public</jk> String <jf>uri</jf>;
+		
+		<ja>@URI</ja> <jk>public</jk> String <jf>addressBookUri</jf>;
 </p>
-</div><!-- END: 4.3 - juneau-dto.Swagger -->
+<p>
+	Also take note of the {@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriResolution},
+	{@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriRelativity}, and 
+	and {@link org.apache.juneau.serializer.Serializer#SERIALIZER_uriContext}
+	settings that can be specified on the serializer to resolve relative and context-root-relative URIs to 
+	fully-qualified URIs.
+</p>
+<p>
+	This can be useful if you want to keep the URI authority and context root information out of the bean logic 
+	layer.
+</p>
+<p>
+	The following code produces the same output as before, but the URIs on the beans are relative.
+</p>
+<p class='bpcode w800'>
+	<jc>// Create a new serializer with readable output.</jc>
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
+		.xmlabbrev()
+		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3);
+		.relativeUriBase(<js>"http://myhost/sample"</js>);
+		.absolutePathUriBase(<js>"http://myhost"</js>)
+		.build();
+		
+	<jc>// Create our bean.</jc>
+	Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"person/1"</js>, <js>"/"</js>);
+
+	<jc>// Serialize the bean to RDF/XML.</jc>
+	String rdfXml = s.serialize(p);
+</p>
+</div><!-- END: 3.1.5 - juneau-marshall-rdf.RdfDetails.UriProperties -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.SwaggerUI' id='juneau-dto.SwaggerUI'>4.4 - Swagger UI</a></h3>
-<div class='topic'><!-- START: 4.4 - juneau-dto.SwaggerUI -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.RootProperty' id='juneau-marshall-rdf.RdfDetails.RootProperty'>3.1.6 - Root Property</a></h4>
+<div class='topic'><!-- START: 3.1.6 - juneau-marshall-rdf.RdfDetails.RootProperty -->
 <p>
-	The {@link org.apache.juneau.dto.swagger.ui.SwaggerUI} class is a DTO class for generating Swagger user interfaces
-	from {@link org.apache.juneau.dto.swagger.Swagger} beans.
+	For all RDF languages, the POJO objects get broken down into simple triplets.
+	Unfortunately, for tree-structured data like the POJOs shown above, this causes the root node of the tree 
+	to become lost.
+	There is no easy way to identify that <c>person/1</c> is the root node in our tree once in triplet 
+	form, and in some cases it's impossible.
 </p>
 <p>
-	The <c>PetStore</c> example described later provides an example of auto-generated Swagger JSON:
+	By default, the {@link org.apache.juneau.jena.RdfParser} class handles this by scanning all the nodes and 
+	identifying the nodes without incoming references.
+	However, this is inefficient, especially for large models.
+	And in cases where the root node is referenced by another node in the model by URL, it's not possible to 
+	locate the root at all.
 </p>
-<img class='bordered w900' src='doc-files/SwaggerUI.json.png'>
 <p>
-	Using {@link org.apache.juneau.dto.swagger.ui.SwaggerUI}, we're able to render that JSON as a Swagger user interface
-	when the request is asking for HTML:
+	To resolve this issue, the property {@link org.apache.juneau.jena.RdfSerializer#RDF_addRootProperty} 
+	was introduced.
+	When enabled, this adds a special <c>root</c> attribute to the root node to make it easy to locate 
+	by the parser.
 </p>
-<img class='bordered w900' src='doc-files/SwaggerUI.html.png'>
-
 <p>
-	The class itself is nothing more than a POJO swap that swaps out {@link org.apache.juneau.dto.swagger.Swagger} beans
-	with {@link org.apache.juneau.dto.html5.Div} elements:
+	To enable, set the <jsf>RDF_addRootProperty</jsf> property to <jk>true</jk> on the serializer:
 </p>
 <p class='bpcode w800'>
-	<jk>public class</jk> SwaggerUI <jk>extends</jk> PojoSwap&lt;Swagger,Div&gt; {
-	
-		<ja>@Override</ja>
-		<jk>public</jk> MediaType[] forMediaTypes() {
-			<jc>// Only use this swap when the Accept type is HTML.</jc>
-			<jk>return new</jk> MediaType[] {MediaType.<jsf>HTML</jsf>};
-		}
-	
-		<ja>@Override</ja>
-		<jk>public</jk> Div swap(BeanSession beanSession, Swagger swagger) <jk>throws</jk> Exception {
-			...
-		}
-	}
+	<jc>// Create a new serializer.</jc>
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
+		.xmlabbrev()
+		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
+		.addRootProperty(<jk>true</jk>)
+		.build();
+</p>	
+<p>
+	Now when we rerun the sample code, we'll see the added <c>root</c> attribute on the root resource.
+</p>
+<p class='bpcode w800'>
+	<xt>&lt;rdf:RDF</xt>
+	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
+	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
+	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
+	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs>
+	    <xa>xmlns:mail</xa>=<xs>"http://www.apache.org/mail/"</xs>
+	    <xa>xmlns:addr</xa>=<xs>"http://www.apache.org/address/"</xs><xt>&gt;</xt>
+	   <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs>&gt;</xt>
+  	      <b><xt>&lt;j:root&gt;</xt>true<xt>&lt;/j:root&gt;</xt></b>
+  	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
+	      <xt>&lt;per:id&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
+	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+	      <xt>&lt;per:addresses&gt;</xt>
+	         <xt>&lt;rdf:Seq&gt;</xt>
+	            <xt>&lt;rdf:li&gt;</xt>
+	               <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/address/1"</xs>&gt;</xt>
+	                  <xt>&lt;addr:personUri <xa>rdf:resource</xa>=<xs>"http://sample/addressBook/person/1"</xs>/&gt;</xt>
+	                  <xt>&lt;addr:id&gt;</xt>1<xt>&lt;/addr:id&gt;</xt>
+	                  <xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
+	                  <xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
+	                  <xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
+	                  <xt>&lt;mail:zip&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
+	                  <xt>&lt;addr:isCurrent&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
+	               <xt>&lt;/rdf:Description&gt;</xt>
+	            <xt>&lt;/rdf:li&gt;</xt>
+	         <xt>&lt;/rdf:Seq&gt;</xt>
+	      <xt>&lt;/per:addresses&gt;</xt>
+	   <xt>&lt;/rdf:Description&gt;</xt>
+	<xt>&lt;/rdf:RDF&gt;</xt>
+</p>
+</div><!-- END: 3.1.6 - juneau-marshall-rdf.RdfDetails.RootProperty -->
+
+<!-- ==================================================================================================== -->
+
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-marshall-rdf.RdfDetails.TypedLiterals' id='juneau-marshall-rdf.RdfDetails.TypedLiterals'>3.1.7 - Typed Literals</a></h4>
+<div class='topic'><!-- START: 3.1.7 - juneau-marshall-rdf.RdfDetails.TypedLiterals -->
+<p>
+	XML-Schema data-types can be added to non-<c>String</c> literals through the 
+	{@link org.apache.juneau.jena.RdfSerializer#RDF_addLiteralTypes} setting.
 </p>
 <p>
-	The {@link org.apache.juneau.rest.BasicRestServlet} class (describe later) shows how this swap is used in the REST interface to 
-	generate the Swagger UI shown above:
+	To enable, set the <jsf>RDF_addLiteralTypes</jsf> property to <jk>true</jk> on the serializer:
 </p>
 <p class='bpcode w800'>
-	<ja>@RestResource</ja>(
-	
-		<jc>// Allow OPTIONS requests to be simulated using ?method=OPTIONS query parameter.</jc>
-		allowedMethodParams=<js>"OPTIONS"</js>,
-	
-		<jc>// POJO swaps to apply to all serializers/parsers.</jc>
-		pojoSwaps={
-			<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
-			SwaggerUI.<jk>class</jk>
-		},
-	
-		...
-	)
-	<jk>public abstract class</jk> BasicRestServlet <jk>extends</jk> RestServlet <jk>implements</jk> BasicRestConfig {
-	
-		<jd>/**
-		 * [OPTIONS /*] - Show resource options.
-		 */</jd>
-		<ja>@RestMethod</ja>(
-			name=<jsf>OPTIONS</jsf>, 
-			path=<js>"/*"</js>,
-			summary=<js>"Swagger documentation"</js>,
-			description=<js>"Swagger documentation for this resource."</js>,
-			htmldoc=<ja>@HtmlDoc</ja>(
-				<jc>// Override the nav links for the swagger page.</jc>
-				navlinks={
-					<js>"back: servlet:/"</js>,
-					<js>"json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"</js>
-				},
-				<jc>// Never show aside contents of page inherited from class.</jc>
-				aside="<js>NONE"</js>
-			)
-		)
-		<jk>public</jk> Swagger getOptions(RestRequest req) {
-			<jc>// Localized Swagger for this resource is available through the RestRequest object.</jc>
-			<jk>return</jk> req.getSwagger();
-		}
-	}
+	<jc>// Create a new serializer (revert back to namespace autodetection).</jc>
+	RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
+		.xmlabbrev()
+		.set(RdfProperties.<jsf>RDF_rdfxml_tab</jsf>, 3),
+		.addLiteralTypes(<jk>true</jk>)
+		.build();
+</p>	
+<p>
+	Now when we rerun the sample code, we'll see the added <c>root</c> attribute on the root resource.
 </p>
-</div><!-- END: 4.4 - juneau-dto.SwaggerUI -->
-</div><!-- END: 4 - juneau-dto -->
+<p class='bpcode w800'>
+	<xt>&lt;rdf:RDF</xt>
+	    <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
+	    <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
+	    <xa>xmlns:jp</xa>=<xs>"http://www.apache.org/juneaubp/"</xs>
+	    <xa>xmlns:per</xa>=<xs>"http://www.apache.org/person/"</xs>
+	    <xa>xmlns:mail</xa>=<xs>"http://www.apache.org/mail/"</xs>
+	    <xa>xmlns:addr</xa>=<xs>"http://www.apache.org/address/"</xs><xt>&gt;</xt>
+	   <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/person/1"</xs>&gt;</xt>
+  	      <xt>&lt;per:addressBookUri</xt> <xa>rdf:resource</xa>=<xs>"http://sample/addressBook"</xs><xt>/&gt;</xt>
+	      <xt>&lt;per:id</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b><xt>&gt;</xt>1<xt>&lt;/per:id&gt;</xt>
+	      <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
+	      <xt>&lt;per:addresses&gt;</xt>
+	         <xt>&lt;rdf:Seq&gt;</xt>
+	            <xt>&lt;rdf:li&gt;</xt>
+	               <xt>&lt;rdf:Description <xa>rdf:about</xa>=<xs>"http://sample/addressBook/address/1"</xs>&gt;</xt>
+	                  <xt>&lt;addr:personUri <xa>rdf:resource</xa>=<xs>"http://sample/addressBook/person/1"</xs>/&gt;</xt>
+	                  <xt>&lt;addr:id</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b>&gt;</xt>1<xt>&lt;/addr:id&gt;</xt>
+	                  <xt>&lt;mail:street&gt;</xt>100 Main Street<xt>&lt;/mail:street&gt;</xt>
+	                  <xt>&lt;mail:city&gt;</xt>Anywhereville<xt>&lt;/mail:city&gt;</xt>
+	                  <xt>&lt;mail:state&gt;</xt>NY<xt>&lt;/mail:state&gt;</xt>
+	                  <xt>&lt;mail:zip</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#int"</xs></b>&gt;</xt>12345<xt>&lt;/mail:zip&gt;</xt>
+	                  <xt>&lt;addr:isCurrent</xt> <b><xa>rdf:datatype</xa>=<xs>"http://www.w3.org/2001/XMLSchema#boolean"</xs></b>&gt;</xt>true<xt>&lt;/addr:isCurrent&gt;</xt>
+	               <xt>&lt;/rdf:Description&gt;</xt>
+	            <xt>&lt;/rdf:li&gt;</xt>
+	         <xt>&lt;/rdf:Seq&gt;</xt>
+	      <xt>&lt;/per:addresses&gt;</xt>
+	   <xt>&lt;/rdf:Description&gt;</xt>
+	<xt>&lt;/rdf:RDF&gt;</xt>
+</p>
+</div><!-- END: 3.1.7 - juneau-marshall-rdf.RdfDetails.TypedLiterals -->
+</div><!-- END: 3.1 - juneau-marshall-rdf.RdfDetails -->
+</div><!-- END: 3 - juneau-marshall-rdf -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-svl' id='juneau-svl'>5 - juneau-svl</a></h2>
-<div class='topic'><!-- START: 5 - juneau-svl -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-dto' id='juneau-dto'>4 - juneau-dto</a></h2>
+<div class='topic'><!-- START: 4 - juneau-dto -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
 		<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
-		<xt>&lt;artifactId&gt;</xt>juneau-svl<xt>&lt;/artifactId&gt;</xt>
+		<xt>&lt;artifactId&gt;</xt>juneau-dto<xt>&lt;/artifactId&gt;</xt>
 		<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
 	<xt>&lt;/dependency&gt;</xt>
 </p>	
-
 <h5 class='figure'>Java Library</h5>
 <p class='bpcode w500'>
-	juneau-svl-{@property juneauVersion}.jar 
+	juneau-dto-{@property juneauVersion}.jar 
 </p>	
-
 <h5 class='figure'>OSGi Module</h5>
 <p class='bpcode w500'>
-	org.apache.juneau.svl_{@property juneauVersion}.jar 
+	org.apache.juneau.dto_{@property juneauVersion}.jar 
+</p>	
+<p>
+	The <c>juneau-dto</c> library contains several predefined POJOs for generating commonly-used document types.
+	This section describes support for these POJOs.
 </p>
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-svl.SimpleVarLanguage' id='juneau-svl.SimpleVarLanguage'>5.1 - Simple Variable Language</a></h3>
-<div class='topic'><!-- START: 5.1 - juneau-svl.SimpleVarLanguage -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.HTML5' id='juneau-dto.HTML5'>4.1 - HTML5</a></h3>
+<div class='topic'><!-- START: 4.1 - juneau-dto.HTML5 -->
 <p>
-	The <l>juneau-svl</l> module defines an API for a language called <l>Simple Variable Language</l>.
-	In a nutshell, Simple Variable Language (or SVL) is text that contains variables of the form <js>"$varName{varKey}"</js>.
-	It is used extensively in the Config, REST and Microservice APIs.
+	The Juneau HTML5 DTOs are simply beans with fluent-style setters that allow you to quickly construct HTML
+	fragments as Java objects.  These object can then be serialized to HTML using one of the existing HTML 
+	serializers, or to other languages such as JSON using the JSON serializers.
 </p>
 <p>
-	Most variables can be recursively nested within the varKey (e.g. <js>"$FOO{$BAR{xxx},$BAZ{xxx}}"</js>)
-	and can return values that themselves contain more variables.
+	The {@link org.apache.juneau.dto.html5.HtmlBuilder} class is a utility class with predefined static methods
+	that allow you to easily construct DTO instances in a minimal amount of code. 
 </p>
 <p>
-	The {@link org.apache.juneau.svl.VarResolver} class is used to resolve variables.
-	The {@link org.apache.juneau.svl.VarResolver#DEFAULT} resolver is a reusable instance of this class 
-	configured with the following basic variables:
+	The following examples show how to create HTML tables.
 </p>
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.SystemPropertiesVar} - <c>$S{key[,default]}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.EnvVariablesVar} - <c>$E{key[,default]}</c>
-</ul>
+<table class='styled w800'>
+	<tr>
+		<th>Java code</th>
+		<th>HTML</th>
+	</tr>
+	<tr>
+		<td class='code'>
+	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
+	
+	Object mytable = 	
+		<jsm>table</jsm>(
+			<jsm>tr</jsm>(
+				<jsm>th</jsm>(<js>"c1"</js>),
+				<jsm>th</jsm>(<js>"c2"</js>)
+			),
+			<jsm>tr</jsm>(
+				<jsm>td</jsm>(<js>"v1"</js>),
+				<jsm>td</jsm>(<js>"v2"</js>)
+			)
+		);
+
+	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(mytable);
+		</td>
+		<td class='code'><xt>
+	&lt;table&gt;
+		&lt;tr&gt;
+			&lt;th&gt;<xv>c1</xv>&lt;/th&gt;
+			&lt;th&gt;<xv>c2</xv>&lt;/th&gt;
+		&lt;/tr&gt;
+		&lt;tr&gt;
+			&lt;td&gt;<xv>v1</xv>&lt;/td&gt;
+			&lt;td&gt;<xv>v2</xv>&lt;/td&gt;
+		&lt;/tr&gt;
+	&lt;/table&gt;
+		</xt></td>
+	</tr>
+	<tr>
+		<td class='code'>
+	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
+		
+	Object mydiv = 	
+		<jsm>div</jsm>().align(<js>"center"</js>).onmouseover(<js>"alert(\"boo!\");"</js>)
+		.children(
+			<jsm>p</jsm>(<js>"Juneau supports "</js>, <jsm>b</jsm>(<jsm>i</jsm>(<js>"mixed"</js>)), <js>" content!"</js>)
+		);
+
+	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(mydiv);
+		</td>
+		<td class='code'><xt>
+	&lt;div <xa>align</xa>=<xs>'center'</xs> <xa>onmouseover</xa>=<xs>'alert("boo!");'</xs>&gt;
+		&lt;p&gt;<xv>Juneau supports </xv>&lt;b&gt;&lt;i&gt;<xv>mixed</xv>&lt;/i&gt;&lt;/b&gt; <xv>content!</xv>&lt;/p&gt;
+	&lt;/table&gt;
+		</xt></td>
+	</tr>
+	<tr>
+		<td class='code'>
+	<jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
+		
+	Object myform =
+		<jsm>form</jsm>().action(<js>"/submit"</js>).method(<js>"POST"</js>)
+		.children(
+			<js>"Position (1-10000): "</js>, <jsm>input</jsm>(<js>"number"</js>).name(<js>"pos"</js>).value(1), <jsm>br</jsm>(),
+			<js>"Limit (1-10000): "</js>, <jsm>input</jsm>(<js>"number"</js>).name(<js>"limit"</js>).value(100), <jsm>br</jsm>(),
+			<jsm>button</jsm>(<js>"submit"</js>, <js>"Submit"</js>),
+			<jsm>button</jsm>(<js>"reset"</js>, <js>"Reset"</js>)
+		); 	
+
+	String html = HtmlSerializer.<jsf>DEFAULT</jsf>.serialize(myform);
+		</td>
+		<td class='code'><xt>
+		&lt;form <xa>action</xa>=<xs>'/submit'</xs> <xa>method</xa>=<xs>'POST'</xs>&gt;
+			<xv>Position (1-10000):</xv> &lt;input <xa>name</xa>=<xs>'pos'</xs> <xa>type</xa>=<xs>'number'</xs> 
+				<xa>value</xa>=<xs>'1'</xs>/&gt;&lt;br/&gt;
+			<xv>Limit (1-10000):</xv> &lt;input <xa>name</xa>=<xs>'pos'</xs> <xa>type</xa>=<xs>'number'</xs> 
+				<xa>value</xa>=<xs>'100'</xs>/&gt;&lt;br/&gt;
+			&lt;button <xa>type</xa>=<xs>'submit'</xs>&gt;<xv>Submit</xv>&lt;/button&gt;
+			&lt;button <xa>type</xa>=<xs>'reset'</xs>&gt;<xv>Reset</xv>&lt;/button&gt;			 
+		&lt;/form&gt;
+		</xt></td>
+	</tr>
+</table>
 <p>
-	The following logic variables are also provided:
+	Using the HTML5 DTOs, you should be able to construct any valid HTML5 from full document bodies
+	to any possible fragments.
+</p>
+<p>
+	The {@link org.apache.juneau.html.HtmlParser} class can be used convert these HTML documents back
+	into POJOs.
+</p>
+<p>
+	Other serializers and parsers (e.g. {@link org.apache.juneau.json.JsonSerializer}) can be used to 
+	represent these POJOs in languages other than HTML.
+</p>
+
+<h5 class='toc'>Additional Information - org.apache.juneau.dto.html5</h5>
+<ol class='toc'>
+	<li><p>{@doc org.apache.juneau.dto.html5#Overview Overview}</p>
+	<ol>
+		<li><p>{@doc org.apache.juneau.dto.html5#Serialize Generating HTML5}</p>
+		<li><p>{@doc org.apache.juneau.dto.html5#Parse Parsing HTML5}</p>
+		<li><p>{@doc org.apache.juneau.dto.html5#Templates HTML5 Templates}</p>
+	</ol>
+</ol>
+</div><!-- END: 4.1 - juneau-dto.HTML5 -->
+
+<!-- ==================================================================================================== -->
+
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.Atom' id='juneau-dto.Atom'>4.2 - Atom</a></h3>
+<div class='topic'><!-- START: 4.2 - juneau-dto.Atom -->
+<p>
+	The Juneau ATOM feed DTOs are simply beans with fluent-style setters.
+	The following code shows a feed being created programmatically using the 
+	{@link org.apache.juneau.dto.atom.AtomBuilder} class.
 </p>
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.IfVar} - <c>$IF{arg,then[,else]}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.SwitchVar} - <c>$SW{arg,pattern1:then1[,pattern2:then2...]}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.CoalesceVar} - <c>$CO{arg1[,arg2...]}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternMatchVar} - <c>$PM{arg,pattern}</c> 
-	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternReplaceVar} - <c>$PR{arg,pattern,replace}</c> 
-	<li class='jc'>{@link org.apache.juneau.svl.vars.PatternExtractVar} - <c>$PE{arg,pattern,groupIndex}</c> 
-	<li class='jc'>{@link org.apache.juneau.svl.vars.NotEmptyVar} - <c>$NE{arg}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.UpperCaseVar} - <c>$UC{arg}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.LowerCaseVar} - <c>$LC{arg}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.LenVar} - <c>$LN{arg[,delimiter]}</c>
-	<li class='jc'>{@link org.apache.juneau.svl.vars.SubstringVar} - <c>$ST{arg,start[,end]}</c>
-</ul>
-<h5 class='figure'>Example:</h5>
 <p class='bpcode w800'>
-	<jc>// Use the default variable resolver to resolve a string that contains $S (system property) variables</jc>
-	String myProperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is $S{java.home}"</js>);
+	<jk>import static</jk> org.apache.juneau.dto.atom.AtomBuilder.*;
+	
+	Feed feed = 
+		<jsm>feed</jsm>(<js>"tag:juneau.apache.org"</js>, <js>"Juneau ATOM specification"</js>, <js>"2016-01-02T03:04:05Z"</js>)
+		.subtitle(<jsm>text</jsm>(<js>"html"</js>).text(<js>"Describes &lt;em&gt;stuff&lt;/em&gt; about Juneau"</js>))
+		.links(
+			<jsm>link</jsm>(<js>"alternate"</js>, <js>"text/html"</js>, <js>"http://juneau.apache.org"</js>).hreflang(<js>"en"</js>),
+			<jsm>link</jsm>(<js>"self"</js>, <js>"application/atom+xml"</js>, <js>"http://juneau.apache.org/feed.atom"</js>)
+		)
+		.rights(<js>"Copyright (c) ..."</js>)
+		.generator(
+			<jsm>generator</jsm>(<js>"Juneau"</js>).uri(<js>"http://juneau.apache.org/"</js>).version(<js>"1.0"</js>)
+		)
+		.entries(
+			<jsm>entry</jsm>(<js>"tag:juneau.sample.com,2013:1.2345"</js>, <js>"Juneau ATOM specification snapshot"</js>, <js>"2016-01-02T03:04:05Z"</js>)
+			.links(
+				<jsm>link</jsm><js>"alternate"</js>, <js>"text/html"</js>, <js>"http://juneau.apache.org/juneau.atom"</js>),
+				<jsm>link</jsm>(<js>"enclosure"</js>, <js>"audio/mpeg"</js>, <js>"http://juneau.apache.org/audio/juneau_podcast.mp3"</js>).length(1337)
+			)
+			.published(<js>"2016-01-02T03:04:05Z"</js>)
+			.authors(
+				<jsm>person</jsm>(<js>"Jane Smith"</js>).uri(<js>"http://juneau.apache.org/"</js>).email(<js>"janesmith@apache.org"</js>)
+			)
+			.contributors(
+				<jsm>person</jsm>(<js>"John Smith"</js>)
+			)
+			.content(
+				<jsm>content</jsm>(<js>"xhtml"</js>)
+				.lang(<js>"en"</js>)
+				.base(<js>"http://www.apache.org/"</js>)
+				.text(<js>"&lt;div&gt;&lt;p&gt;&lt;i&gt;[Update: Juneau supports ATOM.]&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;"</js>)
+			)
+		);
+</p>
+<p>
+	To serialize this to ATOM, use the {@link org.apache.juneau.xml.XmlSerializer} class:
+</p>
+
+<h5 class='figure'>Example with no namespaces</h5>
+<p class='bpcode w800'>
+	<jc>// Create a serializer with readable output, no namespaces yet.</jc>
+	XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
+
+	<jc>// Serialize to ATOM/XML</jc>
+	String atomXml = s.serialize(feed);
+</p>
+
+<h5 class='figure'>Results</h5>
+<p class='bpcode w800'>
+	<xt>&lt;feed&gt;</xt>
+		<xt>&lt;id&gt;</xt>
+			tag:juneau.apache.org
+		<xt>&lt;/id&gt;</xt>
+		<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/'</xs> <xa>rel</xa>=<xs>'alternate'</xs> 
+			<xa>type</xa>=<xs>'text/html'</xs> <xa>hreflang</xa>=<xs>'en'</xs>/<xt>&gt;</xt>
+		<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/feed.atom'</xs> <xa>rel</xa>=<xs>'self'</xs> 
+			<xa>type</xa>=<xs>'application/atom+xml'</xs>/<xt>&gt;</xt>
+		<xt>&lt;rights&gt;</xt>
+			Copyright (c) ...
+		<xt>&lt;/rights&gt;</xt>
+		<xt>&lt;title</xt> <xa>type</xa>=<xs>'text'</xs>&gt;</xt>
+			Juneau ATOM specification
+		<xt>&lt;/title&gt;</xt>
+		<xt>&lt;updated&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/updated&gt;</xt>
+		<xt>&lt;generator</xt> <xa>uri</xa>=<xs>'http://juneau.apache.org/'</xs> <xa>version</xa>=<xs>'1.0'</xs><xt>&gt;</xt>
+			Juneau
+		<xt>&lt;/generator&gt;</xt>
+		<xt>&lt;subtitle</xt> <xa>type</xa>=<xs>'html'</xs><xt>&gt;</xt>
+			Describes &lt;em&gt;stuff&lt;/em&gt; about Juneau
+		<xt>&lt;/subtitle&gt;</xt>
+		<xt>&lt;entry&gt;</xt>
+			<xt>&lt;author&gt;</xt>
+				<xt>&lt;name&gt;</xt>Jane Smith<xt>&lt;/name&gt;</xt>
+				<xt>&lt;uri&gt;</xt>http://juneau.apache.org/<xt>&lt;/uri&gt;</xt>
+				<xt>&lt;email&gt;</xt>janesmith@apache.org<xt>&lt;/email&gt;</xt>
+			<xt>&lt;/author&gt;</xt>
+			<xt>&lt;contributor&gt;</xt>
+				<xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
+			<xt>&lt;/contributor&gt;</xt>
+			<xt>&lt;id&gt;</xt>
+				tag:juneau.apache.org
+			<xt>&lt;/id&gt;</xt>
+			<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/juneau.atom'</xs> 
+				<xa>rel</xa>=<xs>'alternate'</xs> <xa>type</xa>=<xs>'text/html'</xs>/<xt>&gt;</xt>
+			<xt>&lt;link</xt> <xa>href</xa>=<xs>'http://juneau.apache.org/audio/juneau_podcast.mp3'</xs> 
+				<xa>rel</xa>=<xs>'enclosure'</xs> <xa>type</xa>=<xs>'audio/mpeg'</xs> <xa>length</xa>=<xs>'12345'</xs>/<xt>&gt;</xt>
+			<xt>&lt;title&gt;</xt>
+				Juneau ATOM specification snapshot
+			<xt>&lt;/title&gt;</xt>
+			<xt>&lt;updated&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/updated&gt;</xt>
+			<xt>&lt;content</xt> <xa>base</xa>=<xs>'http://www.apache.org/'</xs> <xa>lang</xa>=<xs>'en'</xs> 
+				<xa>type</xa>=<xs>'xhtml'</xs><xt>&gt;</xt>
+				<xt>&lt;div</xt> <xa>xmlns</xa>=<xs>"http://www.w3.org/1999/xhtml"</xs>
+					<xt>&gt;&lt;p&gt;&lt;i&gt;</xt>[Update: Juneau supports ATOM.]<xt>&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;</xt>
+			<xt>&lt;/content&gt;</xt>
+			<xt>&lt;published&gt;</xt>2016-01-02T03:04:05Z<xt>&lt;/published&gt;</xt>
+		<xt>&lt;/entry&gt;</xt>
+	<xt>&lt;/feed&gt;</xt>		
 </p>
 <p>
-	The following shows how variables can be arbitrarily nested...
+	The {@link org.apache.juneau.xml.XmlParser} class can be used convert these Atom documents back into POJOs.
 </p>
-<p class='bpcode w800'>
-	<jc>// Look up a property in the following order:
-	// 1) MYPROPERTY environment variable.
-	// 2) 'my.property' system property if environment variable not found.
-	// 3) 'not found' string if system property not found.</jc>
-	String myproperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"$E{MYPROPERTY,$S{my.property,not found}}"</js>);
+<p>
+	Other serializers and parsers (e.g. {@link org.apache.juneau.json.JsonSerializer}) can be used to 
+	represent these POJOs in languages other than XML.
 </p>
-</div><!-- END: 5.1 - juneau-svl.SimpleVarLanguage -->
+
+<h5 class='toc'>Additional Information - org.apache.juneau.dto.atom</h5>
+<ol class='toc'>
+	<li><p>{@doc org.apache.juneau.dto.atom#Overview Overview}</p>
+	<ol>
+		<li><p>{@doc org.apache.juneau.dto.atom#Serialize Serializing ATOM feeds}</p>
+		<ol>
+			<li><p>{@doc org.apache.juneau.dto.atom#AtomJson ATOM/JSON}</p>
+			<li><p>{@doc org.apache.juneau.dto.atom#AtomRdfXml ATOM/RDF/XML}</p>
+			<li><p>{@doc org.apache.juneau.dto.atom#AtomHtml ATOM/HTML}</p>
+		</ol>
+		<li><p>{@doc org.apache.juneau.dto.atom#Parse Parsing ATOM feeds}</p>
+	</ol>
+</ol>
+</div><!-- END: 4.2 - juneau-dto.Atom -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-svl.SvlVariables' id='juneau-svl.SvlVariables'>5.2 - SVL Variables</a></h3>
-<div class='topic'><!-- START: 5.2 - juneau-svl.SvlVariables -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.Swagger' id='juneau-dto.Swagger'>4.3 - Swagger</a></h3>
+<div class='topic'><!-- START: 4.3 - juneau-dto.Swagger -->
 <p>
-	Variables are defined through the {@link org.apache.juneau.svl.Var} API.
-	The API comes with several predefined variables and is easily extensible.
+	The Juneau Swagger DTOs are simply beans with fluent-style setters that allow you to quickly construct 
+	Swagger documents as Java objects.  
+	These object can then be serialized to JSON using one of the existing JSON serializers, or to other 
+	languages such as XML or HTML using the other serializers.
 </p>
 <p>
-	The following is an example of a variable that performs URL-Encoding on strings.
-</p>
-<p class='bpcode w800'>
-	<jc>// First create our var.</jc>
-	<jk>public class</jk> UrlEncodeVar <jk>extends</jk> SimpleVar {
-		
-		<jc>// Must have a no-arg constructor!</jc>
-		<jk>public</jk> UrlEncodeVar() {
-			<jk>super</jk>(<js>"UE"</js>);
-		}	
-		
-		<jc>// The method we must implement</jc>
-		<ja>@Override</ja>
-		<jk>public</jk> String resolve(VarResolverSession session, String key) {
-			<jk>return</jk> URLEncoder.<jsm>encode</jsm>(key, <js>"UTF-8"</js>);
-		}
-	}
-	
-	<jc>// Next create a var resolver that extends the existing DEFAULT resolver
-	// that supports resolving system properties.</jc>
-	VarResolver r = VarResolver.<jsf>DEFAULT</jsf>
-		.builder()
-		.vars(UrlEncodeVar.<jk>class</jk>)
-		.build();
-	
-	<jc>// Retrieve a system property and URL-encode it if necessary.</jc>
-	String myProperty = r.resolve(<js>"$UE{$S{my.property}}"</js>);
+	The {@link org.apache.juneau.dto.swagger.SwaggerBuilder} class is a utility class with predefined static 
+	methods that allow you to easily construct DTO instances in a minimal amount of code. 
 </p>
 <p>
-	The following shows the class hierarchy of the {@link org.apache.juneau.svl.Var} class:
-</p>  
-<ul class='javatree'>
-	<li class='jac'>{@link org.apache.juneau.svl.Var} - Superclass of all vars.
-	<ul>
-		<li class='jac'>{@link org.apache.juneau.svl.SimpleVar} - Superclass of all vars that return strings.
-		<ul>
-			<li class='jac'>{@link org.apache.juneau.svl.DefaultingVar} - Variables that define a default value if the resolve method returns null.
-			<ul>
-				<li class='jac'>{@link org.apache.juneau.svl.MapVar} - Variables that pull values from maps.
-			</ul>
-			<li class='jac'>{@link org.apache.juneau.svl.MultipartVar} - Variables that consist of 2 or more comma-delimited arguments.
-		</ul>
-		<li class='jac'>{@link org.apache.juneau.svl.StreamedVar} - Superclass of all vars that stream their value to writers.
-	</ul>
-</ul>
-<p>
-	The following is the list of default variables defined in all modules:
+	The following is an example Swagger document from the 
+	<a href='http://petstore.swagger.io/'>Swagger website</a>.
 </p>
-<table class='styled w800'>
-	<tr>
-		<th>Module</th><th>Class</th><th>Pattern</th>
-	</tr>
-	<tr class='dark'>
-		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-svl</td>
-		<td>{@link org.apache.juneau.svl.vars.EnvVariablesVar}</td>
-		<td class='code'>$E{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.SystemPropertiesVar}</td>
-		<td class='code'>$S{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.ArgsVar}</td>
-		<td class='code'>$A{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.ManifestFileVar}</td>
-		<td class='code'>$MF{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.IfVar}</td>
-		<td class='code'>$IF{arg,then[,else]}</td>
-	</tr>
-	<tr class='dark dd'>
-		<td>{@link org.apache.juneau.svl.vars.SwitchVar}</td>
-		<td class='code'>$SW{arg,pattern1:then1[,pattern2:then2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.CoalesceVar}</td>
-		<td class='code'>$CO{arg1[,arg2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.PatternMatchVar}</td>
-		<td class='code'>$PM{arg,pattern}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.PatternReplaceVar}</td>
-		<td class='code'>$PR{arg,pattern,replace}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.PatternExtractVar}</td>
-		<td class='code'>$PE{arg,pattern,groupdIndex}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.NotEmptyVar}</td>
-		<td class='code'>$NE{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.UpperCaseVar}</td>
-		<td class='code'>$UC{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.LowerCaseVar}</td>
-		<td class='code'>$LC{arg}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.LenVar}</td>
-		<td class='code'>$LN{arg[,delimiter]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.svl.vars.SubstringVar}</td>
-		<td class='code'>$ST{arg,start[,end]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.html.HtmlWidgetVar}</td>
-		<td class='code'>$W{name}</td>
-	</tr>
-	<tr class='light dd'>
-		<td rowspan='1' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-config</td>
-		<td>{@link org.apache.juneau.config.vars.ConfigVar}</td>
-		<td class='code'>$C{key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td rowspan='15' style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-rest-server</td>
-		<td>{@link org.apache.juneau.rest.vars.FileVar}</td>
-		<td class='code'>$F{path[,default]}}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.ServletInitParamVar}</td>
-		<td class='code'>$I{name[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.LocalizationVar}</td>
-		<td class='code'>$L{key[,args...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestAttributeVar}</td>
-		<td class='code'>$RA{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestFormDataVar}</td>
-		<td class='code'>$RF{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestHeaderVar}</td>
-		<td class='code'>$RH{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestHeaderVar}</td>
-		<td class='code'>$RI{key}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestPathVar}</td>
-		<td class='code'>$RP{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestQueryVar}</td>
-		<td class='code'>$RQ{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.RequestVar}</td>
-		<td class='code'>$R{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.SerializedRequestAttrVar}</td>
-		<td class='code'>$SA{contentType,key[,default]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.SwaggerVar}</td>
-		<td class='code'>$SS{key1[,key2...]}</td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.UrlVar}</td>
-		<td class='code'>$U{uri}></td>
-	</tr>
-	<tr class='dark'>
-		<td>{@link org.apache.juneau.rest.vars.UrlEncodeVar}</td>
-		<td class='code'>$UE{uriPart}</td>
-	</tr>
-	<tr class='dark dd'>
-		<td>{@link org.apache.juneau.rest.vars.WidgetVar} <i>(deprecated)</i></td>
-		<td class='code'>$W{name}</td>
-	</tr>
-</table>
-</div><!-- END: 5.2 - juneau-svl.SvlVariables -->
+<p class='bpcode w800'>
+	{
+		<jok>"swagger"</jok>: <jov>"2.0"</jov>,
+		<jok>"info"</jok>: {
+			<jok>"title"</jok>: <jov>"Swagger Petstore"</jov>,
+			<jok>"description"</jok>: <jov>"This is a sample server Petstore server."</jov>,
+			<jok>"version"</jok>: <jov>"1.0.0"</jov>,
+			<jok>"termsOfService"</jok>: <jov>"http://swagger.io/terms/"</jov>,
+			<jok>"contact"</jok>: {
+				<jok>"email"</jok>: <jov>"apiteam@swagger.io"</jov>
+			},
+			<jok>"license"</jok>: {
+				<jok>"name"</jok>: <jov>"Apache 2.0"</jov>,
+				<jok>"url"</jok>: <jov>"http://www.apache.org/licenses/LICENSE-2.0.html"</jov>
+			}
+		},
+		<jok>"host"</jok>: <jov>"petstore.swagger.io"</jov>,
+		<jok>"basePath"</jok>: <jov>"/v2"</jov>,
+		<jok>"tags"</jok>: [
+			{
+				<jok>"name"</jok>: <jov>"pet"</jov>,
+				<jok>"description"</jok>: <jov>"Everything about your Pets"</jov>,
+				<jok>"externalDocs"</jok>: {
+					<jok>"description"</jok>: <jov>"Find out more"</jov>,
+					<jok>"url"</jok>: <jov>"http://swagger.io"</jov>
+				}
+			}
+		],
+		<jok>"schemes"</jok>: [
+			<jov>"http"</jov>
+		],
+		<jok>"paths"</jok>: {
+			<jok>"/pet"</jok>: {
+				<jok>"post"</jok>: {
+					<jok>"tags"</jok>: [
+						<jov>"pet"</jov>
+					],
+					<jok>"summary"</jok>: <jov>"Add a new pet to the store"</jov>,
+					<jok>"description"</jok>: <jov>""</jov>,
+					<jok>"operationId"</jok>: <jov>"addPet"</jov>,
+					<jok>"consumes"</jok>: [
+						<jov>"application/json"</jov>,
+						<jov>"text/xml"</jov>
+					],
+					<jok>"produces"</jok>: [
+						<jov>"application/json"</jov>,
+						<jov>"text/xml"</jov>
+					],
+					<jok>"parameters"</jok>: [
+						{
+							<jok>"in"</jok>: <jov>"body"</jov>,
+							<jok>"name"</jok>: <jov>"body"</jov>,
+							<jok>"description"</jok>: <jov>"Pet object that needs to be added to the store"</jov>,
+							<jok>"required"</jok>: <jov>true</jov>
+						}
+					],
+					<jok>"responses"</jok>: {
+						<jok>"405"</jok>: {
+							<jok>"description"</jok>: <jov>"Invalid input"</jov>
+						}
+					}
+				}
+			}
+		}
+	}		
+</p>
+<p>
+	This document can be generated by the following Java code:
+</p>
+<p class='bpcode w800'>
+	<jk>static import</jk> org.apache.juneau.dto.swagger.SwaggerBuilder.*;
 
-<!-- ==================================================================================================== -->
+	Swagger swagger = <jsm>swagger</jsm>()
+		.swagger(<js>"2.0"</js>)
+		.info(
+			<jsm>info</jsm>(<js>"Swagger Petstore"</js>, <js>"1.0.0"</js>)
+				.description(<js>"This is a sample server Petstore server."</js>)
+				.termsOfService(<js>"http://swagger.io/terms/"</js>)
+				.contact(
+					<jsm>contact</jsm>().email(<js>"apiteam@swagger.io"</js>)
+				)
+				.license(
+					<jsm>license</jsm>(<js>"Apache 2.0"</js>).url(<js>"http://www.apache.org/licenses/LICENSE-2.0.html"</js>)
+				)
+		)
+		.host(<js>"petstore.swagger.io"</js>)
+		.basePath(<js>"/v2"</js>)
+		.tags(
+			<jsm>tag</jsm>(<js>"pet"</js>).description(<js>"Everything about your Pets"</js>)
+				.externalDocs(
+					<jsm>externalDocumentation</jsm>(<js>"http://swagger.io"</js>, <js>"http://swagger.io"</js>)
+				)
+		)
+		.schemes(<js>"http"</js>)
+		.path(<js>"/pet"</js>, <js>"post"</js>,
+			<jsm>operation</jsm>()
+				.tags(<js>"pet"</js>)
+				.summary(<js>"Add a new pet to the store"</js>)
+				.description(<js>""</js>)
+				.operationId(<js>"addPet"</js>)
+				.consumes(MediaType.<jsf>JSON</jsf>, MediaType.<jsf>XML</jsf>)
+				.produces(MediaType.<jsf>JSON</jsf>, MediaType.<jsf>XML</jsf>)
+				.parameters(
+					<jsm>parameterInfo</jsm>(<js>"body"</js>, <js>"body"</js>)
+						.description(<js>"Pet object that needs to be added to the store"</js>)
+						.required(<jk>true</jk>)
+				)
+				.response(405, <jsm>responseInfo</jsm>(<js>"Invalid input"</js>))
+		);
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-svl.VarResolvers' id='juneau-svl.VarResolvers'>5.3 - VarResolvers and VarResolverSessions</a></h3>
-<div class='topic'><!-- START: 5.3 - juneau-svl.VarResolvers -->
-<p>
-	The main class for performing variable resolution is {@link org.apache.juneau.svl.VarResolver}.
-	Two methods are provided for resolving variables:
+	<jc>// Serialize using JSON serializer.</jc>
+	String swaggerJson = JsonSerializer.<jsf>DEFAULT_READABLE</jsf>.serialize(swagger);
+	
+	<jc>// Or just use toString().</jc>
+	String swaggerJson = swagger.toString();
 </p>
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.svl.VarResolver}
-	<ul>
-		<li class='jm'>{@link org.apache.juneau.svl.VarResolver#resolve(String) resolve(String)} 
-			- Resolves variables and returns the results as a simple string.
-		<li class='jm'>{@link org.apache.juneau.svl.VarResolver#resolveTo(String,Writer) resolveTo(String,Writer)} 
-			- Resolves variables and sends results to a writer.
-	</ul>
-</ul>
 <p>
-	Var resolvers can rely on the existence of other objects.
-	For example, {@link org.apache.juneau.config.vars.ConfigVar} relies on the existence of a {@link org.apache.juneau.config.Config}.
-	This is accomplished through the following:
+	Methods that take in beans and collections of beans can also take in JSON representations
+	of those objects.
 </p>
-<ul class='spaced-list'>
-	<li>Context-objects - Objects set on the resolver.
-	<li>Session-objects - Objects set on the resolver session.
-</ul>
-<p>
-	The following two classes are identical in behavior except for which objects they can access:
+<p class='bpcode w800'>
+	<jc>// Pass in a JSON object representation of an Info object.</jc>
+	swagger.info(<js>"{title:'Swagger Petstore',...}"</js>);
 </p>
-<ul class='javatree'>
-	<li class='jc'>{@link org.apache.juneau.svl.VarResolver} - Has access to context objects only.
-	<li class='jc'>{@link org.apache.juneau.svl.VarResolverSession} - Has access to context and session objects.
-</ul>
 <p>
-	Context and session objects are set through the following methods:
+	Properties can also be accessed via the {@link org.apache.juneau.dto.swagger.SwaggerElement#get(String,Class)}
+	and {@link org.apache.juneau.dto.swagger.SwaggerElement#set(String,Object)} methods.
+	These methods can also be used to set and retrieve non-Swagger attributes such as 
+	<js>"$ref"</js> (which is not a part of the Swagger spec, but is part of the JSON Schema spec).
 </p>
-<ul class='javatree'>
-	<li class='jm'>{@link org.apache.juneau.svl.VarResolverBuilder#contextObject(String,Object)} - Context objects.
-	<li class='jm'>{@link org.apache.juneau.svl.VarResolverSession#sessionObject(String,Object)} - Session objects.
-	<li class='jm'>{@link org.apache.juneau.svl.VarResolver#createSession(Map)} - Session objects.
-</ul>
-<p>
-	Both kinds of objects are accessible through the following method:
+<p class='bpcode w800'>
+	<jc>// Set a non-standard attribute.</jc>
+	swagger.set(<js>"$ref"</js>, <js>"http://foo.com"</js>);
+	
+	<jc>// Retrieve a non-standard attribute.</jc>
+	URI ref = swagger.get(<js>"$ref"</js>, URI.<jk>class</jk>);
 </p>
-<ul class='javatree'>
-	<li class='jm'>{@link org.apache.juneau.svl.VarResolverSession#getSessionObject(Class, String, boolean)}
-</ul>
 <p>
-	Var resolvers can be cloned and extended by using the {@link org.apache.juneau.svl.VarResolver#builder()} method.
-	Cloning a resolver will copy it's {@link org.apache.juneau.svl.Var} class names and context objects.
+	Swagger docs can be parsed back into Swagger beans using the following code:
 </p>
-
-<h5 class='figure'>Example:</h5>
 <p class='bpcode w800'>
-	<jc>// Create a resolver that copies the default resolver and adds $C and $A vars.</jc>
-	VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>
-		.builder()
-		.vars(ConfigVar.<jk>class</jk>, ArgsVar.<jk>class</jk>)
-		.build();
+	Swagger swagger = JsonParser.<jsf>DEFAULT</jsf>.parse(swaggerJson, Swagger.<jk>class</jk>);
 </p>
-</div><!-- END: 5.3 - juneau-svl.VarResolvers -->
+</div><!-- END: 4.3 - juneau-dto.Swagger -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-svl.DefaultVarResolver' id='juneau-svl.DefaultVarResolver'>5.4 - VarResolver.DEFAULT</a></h3>
-<div class='topic'><!-- START: 5.4 - juneau-svl.DefaultVarResolver -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-dto.SwaggerUI' id='juneau-dto.SwaggerUI'>4.4 - Swagger UI</a></h3>
+<div class='topic'><!-- START: 4.4 - juneau-dto.SwaggerUI -->
 <p>
-	{@link org.apache.juneau.svl.VarResolver#DEFAULT} is a reusable variable resolver with default support for the following variables:
+	The {@link org.apache.juneau.dto.swagger.ui.SwaggerUI} class is a DTO class for generating Swagger user interfaces
+	from {@link org.apache.juneau.dto.swagger.Swagger} beans.
 </p>
-<ul>
-	<li><c>$S{key[,default]}</c> - {@link org.apache.juneau.svl.vars.SystemPropertiesVar}
-	<li><c>$E{key[,default]}</c> - {@link org.apache.juneau.svl.vars.EnvVariablesVar}
-	<li><c>$A{key[,default]}</c> - {@link org.apache.juneau.svl.vars.ArgsVar}
-	<li><c>$MF{key[,default]}</c> - {@link org.apache.juneau.svl.vars.ManifestFileVar}
-	<li><c>$SW{stringArg,pattern:thenValue[,pattern:thenValue...]}</c> - {@link org.apache.juneau.svl.vars.SwitchVar}
-	<li><c>$IF{arg,then[,else]}</c> - {@link org.apache.juneau.svl.vars.IfVar}
-	<li><c>$CO{arg[,arg2...]}</c> - {@link org.apache.juneau.svl.vars.CoalesceVar}
-	<li><c>$PM{arg,pattern}</c> - {@link org.apache.juneau.svl.vars.PatternMatchVar}
-	<li><c>$PR{stringArg,pattern,replace}</c>- {@link org.apache.juneau.svl.vars.PatternReplaceVar}
-	<li><c>$PE{arg,pattern,groupIndex}</c> - {@link org.apache.juneau.svl.vars.PatternExtractVar}
-	<li><c>$UC{arg}</c> - {@link org.apache.juneau.svl.vars.UpperCaseVar}
-	<li><c>$LC{arg}</c> - {@link org.apache.juneau.svl.vars.LowerCaseVar}
-	<li><c>$NE{arg}</c> - {@link org.apache.juneau.svl.vars.NotEmptyVar}
-	<li><c>$LN{arg[,delimiter]}</c> - {@link org.apache.juneau.svl.vars.LenVar}
-	<li><c>$ST{arg,start[,end]}</c> - {@link org.apache.juneau.svl.vars.SubstringVar}
-</ul>
-</div><!-- END: 5.4 - juneau-svl.DefaultVarResolver -->
-
-<!-- ==================================================================================================== -->
+<p>
+	The <c>PetStore</c> example described later provides an example of auto-generated Swagger JSON:
+</p>
+<img class='bordered w900' src='doc-files/SwaggerUI.json.png'>
+<p>
+	Using {@link org.apache.juneau.dto.swagger.ui.SwaggerUI}, we're able to render that JSON as a Swagger user interface
+	when the request is asking for HTML:
+</p>
+<img class='bordered w900' src='doc-files/SwaggerUI.html.png'>
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-svl.OtherNotes' id='juneau-svl.OtherNotes'>5.5 - Other Notes</a></h3>
-<div class='topic'><!-- START: 5.5 - juneau-svl.OtherNotes -->
-<ul class='spaced-list'>
-	<li>
-		The escape character <js>'\'</js> can be used when necessary to escape the following characters: 
-		<c>$ , { }</c>
-	<li>
-		<b>WARNING:</b>  It is possible to cause {@link java.lang.StackOverflowError StackOverflowErrors} if 
-		your nested variables result in a recursive loop (e.g. the environment variable 
-		<c>'MYPROPERTY'</c> has the value <c>'$E{MYPROPERTY}'</c>).
-		So don't do that!
-	<li>
-		As a general rule, this class tries to be as efficient as possible by not creating new strings when not 
-		needed.
-		<br>For example, calling the resolve method on a string that doesn't contain variables (e.g. 
-		<c>resolver.resolve(<js>"foobar"</js>)</c>) will simply be a no-op and return the same string.
-</ul>
-</div><!-- END: 5.5 - juneau-svl.OtherNotes -->
-</div><!-- END: 5 - juneau-svl -->
+<p>
+	The class itself is nothing more than a POJO swap that swaps out {@link org.apache.juneau.dto.swagger.Swagger} beans
+	with {@link org.apache.juneau.dto.html5.Div} elements:
+</p>
+<p class='bpcode w800'>
+	<jk>public class</jk> SwaggerUI <jk>extends</jk> PojoSwap&lt;Swagger,Div&gt; {
+	
+		<ja>@Override</ja>
+		<jk>public</jk> MediaType[] forMediaTypes() {
+			<jc>// Only use this swap when the Accept type is HTML.</jc>
+			<jk>return new</jk> MediaType[] {MediaType.<jsf>HTML</jsf>};
+		}
+	
+		<ja>@Override</ja>
+		<jk>public</jk> Div swap(BeanSession beanSession, Swagger swagger) <jk>throws</jk> Exception {
+			...
+		}
+	}
+</p>
+<p>
+	The {@link org.apache.juneau.rest.BasicRestServlet} class (describe later) shows how this swap is used in the REST interface to 
+	generate the Swagger UI shown above:
+</p>
+<p class='bpcode w800'>
+	<ja>@RestResource</ja>(
+	
+		<jc>// Allow OPTIONS requests to be simulated using ?method=OPTIONS query parameter.</jc>
+		allowedMethodParams=<js>"OPTIONS"</js>,
+	
+		<jc>// POJO swaps to apply to all serializers/parsers.</jc>
+		pojoSwaps={
+			<jc>// Use the SwaggerUI swap when rendering Swagger beans.</jc>
+			SwaggerUI.<jk>class</jk>
+		},
+	
+		...
+	)
+	<jk>public abstract class</jk> BasicRestServlet <jk>extends</jk> RestServlet <jk>implements</jk> BasicRestConfig {
+	
+		<jd>/**
+		 * [OPTIONS /*] - Show resource options.
+		 */</jd>
+		<ja>@RestMethod</ja>(
+			name=<jsf>OPTIONS</jsf>, 
+			path=<js>"/*"</js>,
+			summary=<js>"Swagger documentation"</js>,
+			description=<js>"Swagger documentation for this resource."</js>,
+			htmldoc=<ja>@HtmlDoc</ja>(
+				<jc>// Override the nav links for the swagger page.</jc>
+				navlinks={
+					<js>"back: servlet:/"</js>,
+					<js>"json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"</js>
+				},
+				<jc>// Never show aside contents of page inherited from class.</jc>
+				aside="<js>NONE"</js>
+			)
+		)
+		<jk>public</jk> Swagger getOptions(RestRequest req) {
+			<jc>// Localized Swagger for this resource is available through the RestRequest object.</jc>
+			<jk>return</jk> req.getSwagger();
+		}
+	}
+</p>
+</div><!-- END: 4.4 - juneau-dto.SwaggerUI -->
+</div><!-- END: 4 - juneau-dto -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-config' id='juneau-config'>6 - juneau-config</a></h2>
-<div class='topic'><!-- START: 6 - juneau-config -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-config' id='juneau-config'>5 - juneau-config</a></h2>
+<div class='topic'><!-- START: 5 - juneau-config -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -11521,8 +11482,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Overview' id='juneau-config.Overview'>6.1 - Overview</a></h3>
-<div class='topic'><!-- START: 6.1 - juneau-config.Overview -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Overview' id='juneau-config.Overview'>5.1 - Overview</a></h3>
+<div class='topic'><!-- START: 5.1 - juneau-config.Overview -->
 <p>
 	The <c>juneau-config</c> library contains a powerful API for creating and using INI-style config files.
 </p>
@@ -11602,8 +11563,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Overview.SyntaxRules' id='juneau-config.Overview.SyntaxRules'>6.1.1 - Syntax Rules</a></h4>
-<div class='topic'><!-- START: 6.1.1 - juneau-config.Overview.SyntaxRules -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Overview.SyntaxRules' id='juneau-config.Overview.SyntaxRules'>5.1.1 - Syntax Rules</a></h4>
+<div class='topic'><!-- START: 5.1.1 - juneau-config.Overview.SyntaxRules -->
 <ul class='spaced-list'>
 	<li>
 		Each config file contains zero or more sections containing zero or more entries:
@@ -11686,21 +11647,21 @@
 	<li>
 		Whitespace in section and key names is technically allowed but discouraged.
 </ul>
-</div><!-- END: 6.1.1 - juneau-config.Overview.SyntaxRules -->
-</div><!-- END: 6.1 - juneau-config.Overview -->
+</div><!-- END: 5.1.1 - juneau-config.Overview.SyntaxRules -->
+</div><!-- END: 5.1 - juneau-config.Overview -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes' id='juneau-config.EntryTypes'>6.2 - Entry Types</a></h3>
-<div class='topic'><!-- START: 6.2 - juneau-config.EntryTypes -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes' id='juneau-config.EntryTypes'>5.2 - Entry Types</a></h3>
+<div class='topic'><!-- START: 5.2 - juneau-config.EntryTypes -->
 <p>
 	Configuration files can contain entries for anything from primitive types up to complex hierarchies of POJOs consisting of maps, collections, and/or beans.
 </p>
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.PrimitiveTypes' id='juneau-config.EntryTypes.PrimitiveTypes'>6.2.1 - Primitive Types</a></h4>
-<div class='topic'><!-- START: 6.2.1 - juneau-config.EntryTypes.PrimitiveTypes -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.PrimitiveTypes' id='juneau-config.EntryTypes.PrimitiveTypes'>5.2.1 - Primitive Types</a></h4>
+<div class='topic'><!-- START: 5.2.1 - juneau-config.EntryTypes.PrimitiveTypes -->
 <p>
 	The most common case for configuration values are primitives.
 </p>
@@ -11771,12 +11732,12 @@
 		<cv>This is a particularly long sentence that we want to split</cv>
 		<cv>onto separate lines</cv>.
 </p>
-</div><!-- END: 6.2.1 - juneau-config.EntryTypes.PrimitiveTypes -->
+</div><!-- END: 5.2.1 - juneau-config.EntryTypes.PrimitiveTypes -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.POJOs' id='juneau-config.EntryTypes.POJOs'>6.2.2 - POJOs</a></h4>
-<div class='topic'><!-- START: 6.2.2 - juneau-config.EntryTypes.POJOs -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.POJOs' id='juneau-config.EntryTypes.POJOs'>5.2.2 - POJOs</a></h4>
+<div class='topic'><!-- START: 5.2.2 - juneau-config.EntryTypes.POJOs -->
 <p>
 	The following methods are provided for accessing POJO values:
 </p>
@@ -11857,12 +11818,12 @@
 		<li class='jm'>{@link org.apache.juneau.config.Config#getObjectWithDefault(String,Parser,Object,Class) getObjectWithDefault(String,T,Parser,Class)}
 	</ul>
 </ul>
-</div><!-- END: 6.2.2 - juneau-config.EntryTypes.POJOs -->
+</div><!-- END: 5.2.2 - juneau-config.EntryTypes.POJOs -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.Arrays' id='juneau-config.EntryTypes.Arrays'>6.2.3 - Arrays</a></h4>
-<div class='topic'><!-- START: 6.2.3 - juneau-config.EntryTypes.Arrays -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.Arrays' id='juneau-config.EntryTypes.Arrays'>5.2.3 - Arrays</a></h4>
+<div class='topic'><!-- START: 5.2.3 - juneau-config.EntryTypes.Arrays -->
 <p>
 	The following methods are provided for accessing arrays:
 </p>
@@ -11924,12 +11885,12 @@
 <p class='bpcode w800'>
 	Address[] addresses = c.getObject(<js>"addresses"</js>, Address[].<jk>class</jk>);
 </p>
-</div><!-- END: 6.2.3 - juneau-config.EntryTypes.Arrays -->
+</div><!-- END: 5.2.3 - juneau-config.EntryTypes.Arrays -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.Collections' id='juneau-config.EntryTypes.Collections'>6.2.4 - Collections</a></h4>
-<div class='topic'><!-- START: 6.2.4 - juneau-config.EntryTypes.Collections -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.Collections' id='juneau-config.EntryTypes.Collections'>5.2.4 - Collections</a></h4>
+<div class='topic'><!-- START: 5.2.4 - juneau-config.EntryTypes.Collections -->
 <p>
 	The following methods are provided for accessing maps and collections:
 </p>
@@ -11996,12 +11957,12 @@
 	ObjectMap m = c.getObject(<js>"key1"</js>, ObjectMap.<jk>class</jk>);
 	ObjectList l = c.getObject(<js>"key2"</js>, ObjectList.<jk>class</jk>);
 </p>
-</div><!-- END: 6.2.4 - juneau-config.EntryTypes.Collections -->
+</div><!-- END: 5.2.4 - juneau-config.EntryTypes.Collections -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.BinaryData' id='juneau-config.EntryTypes.BinaryData'>6.2.5 - Binary Data</a></h4>
-<div class='topic'><!-- START: 6.2.5 - juneau-config.EntryTypes.BinaryData -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EntryTypes.BinaryData' id='juneau-config.EntryTypes.BinaryData'>5.2.5 - Binary Data</a></h4>
+<div class='topic'><!-- START: 5.2.5 - juneau-config.EntryTypes.BinaryData -->
 <p>
 	The following methods are provided for accessing binary data:
 </p>
@@ -12052,13 +12013,13 @@
 <ul class='javatree'>
 	<li class='jf'>{@link org.apache.juneau.config.Config#CONFIG_binaryLineLength}
 </ul>
-</div><!-- END: 6.2.5 - juneau-config.EntryTypes.BinaryData -->
-</div><!-- END: 6.2 - juneau-config.EntryTypes -->
+</div><!-- END: 5.2.5 - juneau-config.EntryTypes.BinaryData -->
+</div><!-- END: 5.2 - juneau-config.EntryTypes -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Variables' id='juneau-config.Variables'>6.3 - Variables</a></h3>
-<div class='topic'><!-- START: 6.3 - juneau-config.Variables -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Variables' id='juneau-config.Variables'>5.3 - Variables</a></h3>
+<div class='topic'><!-- START: 5.3 - juneau-config.Variables -->
 <p>
 	Config files can contain variables that get resolved dynamically using the previously-described {@link org.apache.juneau.svl.VarResolver} API.
 </p>
@@ -12116,8 +12077,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Variables.LogicVariables' id='juneau-config.Variables.LogicVariables'>6.3.1 - Logic Variables</a></h4>
-<div class='topic'><!-- START: 6.3.1 - juneau-config.Variables.LogicVariables -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Variables.LogicVariables' id='juneau-config.Variables.LogicVariables'>5.3.1 - Logic Variables</a></h4>
+<div class='topic'><!-- START: 5.3.1 - juneau-config.Variables.LogicVariables -->
 <p>
 	The default variable resolver also provides the following logic variables for performing simple logical operations:
 </p>
@@ -12193,13 +12154,13 @@
 			*win*
 		}</cv>		
 </p>
-</div><!-- END: 6.3.1 - juneau-config.Variables.LogicVariables -->
-</div><!-- END: 6.3 - juneau-config.Variables -->
+</div><!-- END: 5.3.1 - juneau-config.Variables.LogicVariables -->
+</div><!-- END: 5.3 - juneau-config.Variables -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EncodedEntries' id='juneau-config.EncodedEntries'>6.4 - Encoded Entries</a></h3>
-<div class='topic'><!-- START: 6.4 - juneau-config.EncodedEntries -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.EncodedEntries' id='juneau-config.EncodedEntries'>5.4 - Encoded Entries</a></h3>
+<div class='topic'><!-- START: 5.4 - juneau-config.EncodedEntries -->
 <p>
 	Encoded entries allow for sensitive information such as passwords to be obfuscated.
 </p>
@@ -12243,12 +12204,12 @@
 	Unencoded values are encoded when the file is saved using the {@link org.apache.juneau.config.Config#commit()} method.
 	They can also be encoded immediately by calling {@link org.apache.juneau.config.Config#encodeEntries()}.
 </p>
-</div><!-- END: 6.4 - juneau-config.EncodedEntries -->
+</div><!-- END: 5.4 - juneau-config.EncodedEntries -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionMaps' id='juneau-config.SectionMaps'>6.5 - Section Maps</a></h3>
-<div class='topic'><!-- START: 6.5 - juneau-config.SectionMaps -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionMaps' id='juneau-config.SectionMaps'>5.5 - Section Maps</a></h3>
+<div class='topic'><!-- START: 5.5 - juneau-config.SectionMaps -->
 <p>
 	Config sections can be retrieved in-bulk using  
 	{@link org.apache.juneau.config.Config#getSectionAsMap(String)}.
@@ -12276,12 +12237,12 @@
 <p>
 	Maps created this way are snapshot copies of the section at the time of the method call.
 </p>
-</div><!-- END: 6.5 - juneau-config.SectionMaps -->
+</div><!-- END: 5.5 - juneau-config.SectionMaps -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionBeans' id='juneau-config.SectionBeans'>6.6 - Section Beans</a></h3>
-<div class='topic'><!-- START: 6.6 - juneau-config.SectionBeans -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionBeans' id='juneau-config.SectionBeans'>5.6 - Section Beans</a></h3>
+<div class='topic'><!-- START: 5.6 - juneau-config.SectionBeans -->
 <p>
 	Config files can also be used to directly populate beans using 
 	{@link org.apache.juneau.config.Config#getSectionAsBean(String,Class,boolean)}.
@@ -12310,12 +12271,12 @@
 <p>
 	Like maps, beans created this way are snapshot copies of the section at the time of the method call.
 </p>
-</div><!-- END: 6.6 - juneau-config.SectionBeans -->
+</div><!-- END: 5.6 - juneau-config.SectionBeans -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionInterfaces' id='juneau-config.SectionInterfaces'>6.7 - Section Interfaces</a></h3>
-<div class='topic'><!-- START: 6.7 - juneau-config.SectionInterfaces -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SectionInterfaces' id='juneau-config.SectionInterfaces'>5.7 - Section Interfaces</a></h3>
+<div class='topic'><!-- START: 5.7 - juneau-config.SectionInterfaces -->
 <p>
 	Config sections can also be accessed via interface proxies using 
 	{@link org.apache.juneau.config.Config#getSectionAsInterface(String,Class)}.
@@ -12372,12 +12333,12 @@
 	<jc>// Commit your changes to the store.</jc>
 	c.commit();
 </p>
-</div><!-- END: 6.7 - juneau-config.SectionInterfaces -->
+</div><!-- END: 5.7 - juneau-config.SectionInterfaces -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues' id='juneau-config.SettingValues'>6.8 - Setting Values</a></h3>
-<div class='topic'><!-- START: 6.8 - juneau-config.SettingValues -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues' id='juneau-config.SettingValues'>5.8 - Setting Values</a></h3>
+<div class='topic'><!-- START: 5.8 - juneau-config.SettingValues -->
 <p>
 	The following methods allow you to add, remove, and modify entries and sections in a config file:
 </p>
@@ -12461,8 +12422,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.FileSystemChanges' id='juneau-config.SettingValues.FileSystemChanges'>6.8.1 - File System Changes</a></h4>
-<div class='topic'><!-- START: 6.8.1 - juneau-config.SettingValues.FileSystemChanges -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.FileSystemChanges' id='juneau-config.SettingValues.FileSystemChanges'>5.8.1 - File System Changes</a></h4>
+<div class='topic'><!-- START: 5.8.1 - juneau-config.SettingValues.FileSystemChanges -->
 <p>
 	In general, external file modifications will be detected immediately in the <c>Config</c>
 	object when a watcher thread is enabled (explained later).
@@ -12484,12 +12445,12 @@
 	If the same entry is both internally and externally modified, the external modification will be 
 	overwritten (although both change events will be seen by listeners).
 </p>
-</div><!-- END: 6.8.1 - juneau-config.SettingValues.FileSystemChanges -->
+</div><!-- END: 5.8.1 - juneau-config.SettingValues.FileSystemChanges -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.CustomEntrySerialization' id='juneau-config.SettingValues.CustomEntrySerialization'>6.8.2 - Custom Entry Serialization</a></h4>
-<div class='topic'><!-- START: 6.8.2 - juneau-config.SettingValues.CustomEntrySerialization -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.CustomEntrySerialization' id='juneau-config.SettingValues.CustomEntrySerialization'>5.8.2 - Custom Entry Serialization</a></h4>
+<div class='topic'><!-- START: 5.8.2 - juneau-config.SettingValues.CustomEntrySerialization -->
 <p>
 	Setter methods that take in a <c>Serializer</c> can be used to provide custom serialization of entries
 	instead of using the predefined serializer.
@@ -12513,12 +12474,12 @@
 <p class='bpcode w800'>
 	Address myAddress = c.getObject(<js>"key1"</js>, XmlParser.<jsf>DEFAULT</jsf>, Address.<jk>class</jk>);			
 </p>
-</div><!-- END: 6.8.2 - juneau-config.SettingValues.CustomEntrySerialization -->
+</div><!-- END: 5.8.2 - juneau-config.SettingValues.CustomEntrySerialization -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.BulkSettingValues' id='juneau-config.SettingValues.BulkSettingValues'>6.8.3 - Setting Values in Bulk</a></h4>
-<div class='topic'><!-- START: 6.8.3 - juneau-config.SettingValues.BulkSettingValues -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SettingValues.BulkSettingValues' id='juneau-config.SettingValues.BulkSettingValues'>5.8.3 - Setting Values in Bulk</a></h4>
+<div class='topic'><!-- START: 5.8.3 - juneau-config.SettingValues.BulkSettingValues -->
 <p>
 	The following methods can be used to bulk-load configuration values:
 </p>
@@ -12534,13 +12495,13 @@
 <p>
 	Changes can then be committed using the {@link org.apache.juneau.config.Config#commit()} method.
 </p>
-</div><!-- END: 6.8.3 - juneau-config.SettingValues.BulkSettingValues -->
-</div><!-- END: 6.8 - juneau-config.SettingValues -->
+</div><!-- END: 5.8.3 - juneau-config.SettingValues.BulkSettingValues -->
+</div><!-- END: 5.8 - juneau-config.SettingValues -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Listeners' id='juneau-config.Listeners'>6.9 - Listeners</a></h3>
-<div class='topic'><!-- START: 6.9 - juneau-config.Listeners -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Listeners' id='juneau-config.Listeners'>5.9 - Listeners</a></h3>
+<div class='topic'><!-- START: 5.9 - juneau-config.Listeners -->
 <p>
 	Configuration change events can be listened for using the following methods:
 </p>
@@ -12613,12 +12574,12 @@
 		}
 	)
 </p>
-</div><!-- END: 6.9 - juneau-config.Listeners -->
+</div><!-- END: 5.9 - juneau-config.Listeners -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Serializing' id='juneau-config.Serializing'>6.10 - Serializing</a></h3>
-<div class='topic'><!-- START: 6.10 - juneau-config.Serializing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Serializing' id='juneau-config.Serializing'>5.10 - Serializing</a></h3>
+<div class='topic'><!-- START: 5.10 - juneau-config.Serializing -->
 <p>
 	The following methods are used for serializing <c>Config</c> objects back into INI files:
 </p>
@@ -12636,12 +12597,12 @@
 	The <c>Config</c> class implements the {@link org.apache.juneau.Writable} which means it can be 
 	returned as-is by REST methods to be serialized as INI text.
 </p>
-</div><!-- END: 6.10 - juneau-config.Serializing -->
+</div><!-- END: 5.10 - juneau-config.Serializing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Imports' id='juneau-config.Imports'>6.11 - Imports</a></h3>
-<div class='topic'><!-- START: 6.11 - juneau-config.Imports -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.Imports' id='juneau-config.Imports'>5.11 - Imports</a></h3>
+<div class='topic'><!-- START: 5.11 - juneau-config.Imports -->
 <p>
 	Configurations can import values from other configurations using the following syntax: 
 </p>
@@ -12760,12 +12721,12 @@
 	Note that when dynamically adding or removing imports, overridden keys in the child config will be filtered
 	from the change events.
 </p>
-</div><!-- END: 6.11 - juneau-config.Imports -->
+</div><!-- END: 5.11 - juneau-config.Imports -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores' id='juneau-config.ConfigStores'>6.12 - Config Stores</a></h3>
-<div class='topic'><!-- START: 6.12 - juneau-config.ConfigStores -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores' id='juneau-config.ConfigStores'>5.12 - Config Stores</a></h3>
+<div class='topic'><!-- START: 5.12 - juneau-config.ConfigStores -->
 <p>
 	Configuration files are stored in entities called Stores.
 </p>
@@ -12837,8 +12798,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigMemoryStore' id='juneau-config.ConfigStores.ConfigMemoryStore'>6.12.1 - ConfigMemoryStore</a></h4>
-<div class='topic'><!-- START: 6.12.1 - juneau-config.ConfigStores.ConfigMemoryStore -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigMemoryStore' id='juneau-config.ConfigStores.ConfigMemoryStore'>5.12.1 - ConfigMemoryStore</a></h4>
+<div class='topic'><!-- START: 5.12.1 - juneau-config.ConfigStores.ConfigMemoryStore -->
 <p>
 	The {@link org.apache.juneau.config.store.ConfigMemoryStore} class is simply an in-memory storage
 	location for configuration files.
@@ -12886,12 +12847,12 @@
 		}
 	}
 </p>
-</div><!-- END: 6.12.1 - juneau-config.ConfigStores.ConfigMemoryStore -->
+</div><!-- END: 5.12.1 - juneau-config.ConfigStores.ConfigMemoryStore -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigFileStore' id='juneau-config.ConfigStores.ConfigFileStore'>6.12.2 - ConfigFileStore</a></h4>
-<div class='topic'><!-- START: 6.12.2 - juneau-config.ConfigStores.ConfigFileStore -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigFileStore' id='juneau-config.ConfigStores.ConfigFileStore'>5.12.2 - ConfigFileStore</a></h4>
+<div class='topic'><!-- START: 5.12.2 - juneau-config.ConfigStores.ConfigFileStore -->
 <p>
 	The {@link org.apache.juneau.config.store.ConfigFileStore} is the typical store used for configuration files.
 	It provides the following configurable settings:
@@ -12915,12 +12876,12 @@
 	<jc>// Create a config using the store defined above.</jc>
 	Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).store(fs).build();
 </p>
-</div><!-- END: 6.12.2 - juneau-config.ConfigStores.ConfigFileStore -->
+</div><!-- END: 5.12.2 - juneau-config.ConfigStores.ConfigFileStore -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.CustomConfigStores' id='juneau-config.ConfigStores.CustomConfigStores'>6.12.3 - Custom ConfigStores</a></h4>
-<div class='topic'><!-- START: 6.12.3 - juneau-config.ConfigStores.CustomConfigStores -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.CustomConfigStores' id='juneau-config.ConfigStores.CustomConfigStores'>5.12.3 - Custom ConfigStores</a></h4>
+<div class='topic'><!-- START: 5.12.3 - juneau-config.ConfigStores.CustomConfigStores -->
 <p>
 	The <c>ConfigStore</c> API has been written to allow easy development of custom configuration storage classes.
 </p>
@@ -13079,12 +13040,12 @@
 		}
 	}
 </p>
-</div><!-- END: 6.12.3 - juneau-config.ConfigStores.CustomConfigStores -->
+</div><!-- END: 5.12.3 - juneau-config.ConfigStores.CustomConfigStores -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigStoreListeners' id='juneau-config.ConfigStores.ConfigStoreListeners'>6.12.4 - ConfigStore Listeners</a></h4>
-<div class='topic'><!-- START: 6.12.4 - juneau-config.ConfigStores.ConfigStoreListeners -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ConfigStores.ConfigStoreListeners' id='juneau-config.ConfigStores.ConfigStoreListeners'>5.12.4 - ConfigStore Listeners</a></h4>
+<div class='topic'><!-- START: 5.12.4 - juneau-config.ConfigStores.ConfigStoreListeners -->
 <p>
 	The <c>ConfigStore</c> class has the following listener methods:
 </p>
@@ -13109,13 +13070,13 @@
 	This listener is used by the <c>Config</c> class to listen for changes on the file system so that it can be
 	updated in real-time.
 </p>
-</div><!-- END: 6.12.4 - juneau-config.ConfigStores.ConfigStoreListeners -->
-</div><!-- END: 6.12 - juneau-config.ConfigStores -->
+</div><!-- END: 5.12.4 - juneau-config.ConfigStores.ConfigStoreListeners -->
+</div><!-- END: 5.12 - juneau-config.ConfigStores -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ReadOnlyConfigs' id='juneau-config.ReadOnlyConfigs'>6.13 - Read-only Configs</a></h3>
-<div class='topic'><!-- START: 6.13 - juneau-config.ReadOnlyConfigs -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ReadOnlyConfigs' id='juneau-config.ReadOnlyConfigs'>5.13 - Read-only Configs</a></h3>
+<div class='topic'><!-- START: 5.13 - juneau-config.ReadOnlyConfigs -->
 <p>
 	The following settings can be used to create read-only <c>Config</c> objects:
 </p>
@@ -13131,12 +13092,12 @@
 <p>
 	This causes all methods that make modifications to throw {@link java.lang.UnsupportedOperationException}.
 </p>
-</div><!-- END: 6.13 - juneau-config.ReadOnlyConfigs -->
+</div><!-- END: 5.13 - juneau-config.ReadOnlyConfigs -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ClosingConfigs' id='juneau-config.ClosingConfigs'>6.14 - Closing Configs</a></h3>
-<div class='topic'><!-- START: 6.14 - juneau-config.ClosingConfigs -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.ClosingConfigs' id='juneau-config.ClosingConfigs'>5.14 - Closing Configs</a></h3>
+<div class='topic'><!-- START: 5.14 - juneau-config.ClosingConfigs -->
 <p>
 	In general, it's good practice to close Config if you're only creating them temporarily so that
 	their listeners get unregistered from the underlying storage APIs.
@@ -13151,12 +13112,12 @@
 	<jc>// Then close the config to unregister the listeners.</jc>
 	c.close();
 </p>
-</div><!-- END: 6.14 - juneau-config.ClosingConfigs -->
+</div><!-- END: 5.14 - juneau-config.ClosingConfigs -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SystemDefaultConfig' id='juneau-config.SystemDefaultConfig'>6.15 - System Default Config</a></h3>
-<div class='topic'><!-- START: 6.15 - juneau-config.SystemDefaultConfig -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-config.SystemDefaultConfig' id='juneau-config.SystemDefaultConfig'>5.15 - System Default Config</a></h3>
+<div class='topic'><!-- START: 5.15 - juneau-config.SystemDefaultConfig -->
 <p>
 	Each JVM has a system default config.  This is a configuration file that serves as the default
 	configuration for the system.  It's accessed using the following static methods:
@@ -13210,13 +13171,13 @@
 	By default, all properties in the system default configuration are automatically set as system properties.
 	This can be disabled by setting the system property <js>"juneau.disableAutoSystemProps"</js> to <js>"true"</js>.
 </p>
-</div><!-- END: 6.15 - juneau-config.SystemDefaultConfig -->
-</div><!-- END: 6 - juneau-config -->
+</div><!-- END: 5.15 - juneau-config.SystemDefaultConfig -->
+</div><!-- END: 5 - juneau-config -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server' id='juneau-rest-server'>7 - juneau-rest-server</a></h2>
-<div class='topic'><!-- START: 7 - juneau-rest-server -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server' id='juneau-rest-server'>6 - juneau-rest-server</a></h2>
+<div class='topic'><!-- START: 6 - juneau-rest-server -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -13330,8 +13291,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HelloWorldExample' id='juneau-rest-server.HelloWorldExample'>7.1 - Hello World Example</a></h3>
-<div class='topic'><!-- START: 7.1 - juneau-rest-server.HelloWorldExample -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HelloWorldExample' id='juneau-rest-server.HelloWorldExample'>6.1 - Hello World Example</a></h3>
+<div class='topic'><!-- START: 6.1 - juneau-rest-server.HelloWorldExample -->
 <p>
 	A REST resource is simply a Java class annotated with {@link org.apache.juneau.rest.annotation.RestResource}.
 	The most common case is a class that extends {@link org.apache.juneau.rest.RestServlet}, which itself is simply an 
@@ -13407,12 +13368,12 @@
 	Implementers can choose to use this class, or create their own subclass of 
 	{@link org.apache.juneau.rest.RestServlet} with their own specialized serializers and parsers.
 </p>
-</div><!-- END: 7.1 - juneau-rest-server.HelloWorldExample -->
+</div><!-- END: 6.1 - juneau-rest-server.HelloWorldExample -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ClassHierarchy' id='juneau-rest-server.ClassHierarchy'>7.2 - Class Hierarchy</a></h3>
-<div class='topic'><!-- START: 7.2 - juneau-rest-server.ClassHierarchy -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ClassHierarchy' id='juneau-rest-server.ClassHierarchy'>6.2 - Class Hierarchy</a></h3>
+<div class='topic'><!-- START: 6.2 - juneau-rest-server.ClassHierarchy -->
 <p>
 	The class hierarchy for the REST servlet class is shown below:
 </p>
@@ -13477,12 +13438,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RestContext} - Each resource class instance has one copy that holds all of its configuration.
 	<li class='jc'>{@link org.apache.juneau.rest.RestContextBuilder} - Builder for the class above.
 </ul>
-</div><!-- END: 7.2 - juneau-rest-server.ClassHierarchy -->
+</div><!-- END: 6.2 - juneau-rest-server.ClassHierarchy -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation' id='juneau-rest-server.Instantiation'>7.3 - Instantiation</a></h3>
-<div class='topic'><!-- START: 7.3 - juneau-rest-server.Instantiation -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation' id='juneau-rest-server.Instantiation'>6.3 - Instantiation</a></h3>
+<div class='topic'><!-- START: 6.3 - juneau-rest-server.Instantiation -->
 <p>
 	REST resources are deployed in one of two ways:
 </p>
@@ -13533,8 +13494,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.RestServlet' id='juneau-rest-server.Instantiation.RestServlet'>7.3.1 - RestServlet</a></h4>
-<div class='topic'><!-- START: 7.3.1 - juneau-rest-server.Instantiation.RestServlet -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.RestServlet' id='juneau-rest-server.Instantiation.RestServlet'>6.3.1 - RestServlet</a></h4>
+<div class='topic'><!-- START: 6.3.1 - juneau-rest-server.Instantiation.RestServlet -->
 <p>
 	The {@link org.apache.juneau.rest.RestServlet} class is the entry point for your REST resources.
 	It extends directly from <l>HttpServlet</l> and is deployed like any other servlet.
@@ -13563,12 +13524,12 @@
 		<li class='jm'>{@link org.apache.juneau.rest.RestServlet#log(Level,Throwable,String,Object...) log(Level,Throwable,String,Object...)} - Convenience logging method.
 	</ul>
 </ul>
-</div><!-- END: 7.3.1 - juneau-rest-server.Instantiation.RestServlet -->
+</div><!-- END: 6.3.1 - juneau-rest-server.Instantiation.RestServlet -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestServlet' id='juneau-rest-server.Instantiation.BasicRestServlet'>7.3.2 - BasicRestServlet</a></h4>
-<div class='topic'><!-- START: 7.3.2 - juneau-rest-server.Instantiation.BasicRestServlet -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestServlet' id='juneau-rest-server.Instantiation.BasicRestServlet'>6.3.2 - BasicRestServlet</a></h4>
+<div class='topic'><!-- START: 6.3.2 - juneau-rest-server.Instantiation.BasicRestServlet -->
 <p>
 	The {@link org.apache.juneau.rest.BasicRestServlet} class is a subclass of {@link org.apache.juneau.rest.RestServlet}
 	preconfigured with the following:
@@ -13752,12 +13713,12 @@
 	There's a lot going on in this class.
 	But not to worry, the details will be described later.
 </p>
-</div><!-- END: 7.3.2 - juneau-rest-server.Instantiation.BasicRestServlet -->
+</div><!-- END: 6.3.2 - juneau-rest-server.Instantiation.BasicRestServlet -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRest' id='juneau-rest-server.Instantiation.BasicRest'>7.3.3 - BasicRest</a></h4>
-<div class='topic'><!-- START: 7.3.3 - juneau-rest-server.Instantiation.BasicRest -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRest' id='juneau-rest-server.Instantiation.BasicRest'>6.3.3 - BasicRest</a></h4>
+<div class='topic'><!-- START: 6.3.3 - juneau-rest-server.Instantiation.BasicRest -->
 <p>
 	The {@link org.apache.juneau.rest.BasicRest} class is identical to the {@link org.apache.juneau.rest.BasicRestServlet} class except that
 	it does not extend from <c>HttpServlet</c>.
@@ -13832,12 +13793,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.3.3 - juneau-rest-server.Instantiation.BasicRest -->
+</div><!-- END: 6.3.3 - juneau-rest-server.Instantiation.BasicRest -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.Children' id='juneau-rest-server.Instantiation.Children'>7.3.4 - Children</a></h4>
-<div class='topic'><!-- START: 7.3.4 - juneau-rest-server.Instantiation.Children -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.Children' id='juneau-rest-server.Instantiation.Children'>6.3.4 - Children</a></h4>
+<div class='topic'><!-- START: 6.3.4 - juneau-rest-server.Instantiation.Children -->
 <p>
 	Child Resources are REST servlets or objects that are linked to parent resources through the 
 	{@link org.apache.juneau.rest.annotation.RestResource#children() @RestResource(children)} annotation.
@@ -13871,12 +13832,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_children}
 </ul>
-</div><!-- END: 7.3.4 - juneau-rest-server.Instantiation.Children -->
+</div><!-- END: 6.3.4 - juneau-rest-server.Instantiation.Children -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestServletGroup' id='juneau-rest-server.Instantiation.BasicRestServletGroup'>7.3.5 - BasicRestServletGroup</a></h4>
-<div class='topic'><!-- START: 7.3.5 - juneau-rest-server.Instantiation.BasicRestServletGroup -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestServletGroup' id='juneau-rest-server.Instantiation.BasicRestServletGroup'>6.3.5 - BasicRestServletGroup</a></h4>
+<div class='topic'><!-- START: 6.3.5 - juneau-rest-server.Instantiation.BasicRestServletGroup -->
 <p>
 	The {@link org.apache.juneau.rest.BasicRestServletGroup} class provides a default "router" page for 
 	child resources when a parent resource is nothing more than a grouping of child resources.
@@ -13930,12 +13891,12 @@
 		}
 	}		
 </p>
-</div><!-- END: 7.3.5 - juneau-rest-server.Instantiation.BasicRestServletGroup -->
+</div><!-- END: 6.3.5 - juneau-rest-server.Instantiation.BasicRestServletGroup -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestGroup' id='juneau-rest-server.Instantiation.BasicRestGroup'>7.3.6 - BasicRestGroup</a></h4>
-<div class='topic'><!-- START: 7.3.6 - juneau-rest-server.Instantiation.BasicRestGroup -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.BasicRestGroup' id='juneau-rest-server.Instantiation.BasicRestGroup'>6.3.6 - BasicRestGroup</a></h4>
+<div class='topic'><!-- START: 6.3.6 - juneau-rest-server.Instantiation.BasicRestGroup -->
 <p>
 	The {@link org.apache.juneau.rest.BasicRestGroup} class is identical to the {@link org.apache.juneau.rest.BasicRestServletGroup} class except that
 	it does not extend from <c>HttpServlet</c>.
@@ -13954,12 +13915,12 @@
 		}
 	}		
 </p>
-</div><!-- END: 7.3.6 - juneau-rest-server.Instantiation.BasicRestGroup -->
+</div><!-- END: 6.3.6 - juneau-rest-server.Instantiation.BasicRestGroup -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.ResourceResolvers' id='juneau-rest-server.Instantiation.ResourceResolvers'>7.3.7 - Resource Resolvers</a></h4>
-<div class='topic'><!-- START: 7.3.7 - juneau-rest-server.Instantiation.ResourceResolvers -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.ResourceResolvers' id='juneau-rest-server.Instantiation.ResourceResolvers'>6.3.7 - Resource Resolvers</a></h4>
+<div class='topic'><!-- START: 6.3.7 - juneau-rest-server.Instantiation.ResourceResolvers -->
 <p>
 	By default, you can add the {@link org.apache.juneau.rest.annotation.RestResource @RestResource}
 	to any class as long as it has one of the following constructors:
@@ -13988,12 +13949,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_resourceResolver}
 </ul>
-</div><!-- END: 7.3.7 - juneau-rest-server.Instantiation.ResourceResolvers -->
+</div><!-- END: 6.3.7 - juneau-rest-server.Instantiation.ResourceResolvers -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.LifecycleHooks' id='juneau-rest-server.Instantiation.LifecycleHooks'>7.3.8 - Lifecycle Hooks</a></h4>
-<div class='topic'><!-- START: 7.3.8 - juneau-rest-server.Instantiation.LifecycleHooks -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Instantiation.LifecycleHooks' id='juneau-rest-server.Instantiation.LifecycleHooks'>6.3.8 - Lifecycle Hooks</a></h4>
+<div class='topic'><!-- START: 6.3.8 - juneau-rest-server.Instantiation.LifecycleHooks -->
 <p>
 	Lifecycle hooks allow you to hook into lifecycle events of the servlet/resource creation and REST calls.
 </p>
@@ -14050,13 +14011,13 @@
 <ul class='seealso'>
 	<li class='ja'>{@link org.apache.juneau.rest.annotation.RestHook}
 </ul>
-</div><!-- END: 7.3.8 - juneau-rest-server.Instantiation.LifecycleHooks -->
-</div><!-- END: 7.3 - juneau-rest-server.Instantiation -->
+</div><!-- END: 6.3.8 - juneau-rest-server.Instantiation.LifecycleHooks -->
+</div><!-- END: 6.3 - juneau-rest-server.Instantiation -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource' id='juneau-rest-server.RestResource'>7.4 - @RestResource</a></h3>
-<div class='topic'><!-- START: 7.4 - juneau-rest-server.RestResource -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource' id='juneau-rest-server.RestResource'>6.4 - @RestResource</a></h3>
+<div class='topic'><!-- START: 6.4 - juneau-rest-server.RestResource -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource @RestResource} annotation is the primary way of defining
 	and configuring REST resource classes.
@@ -14065,8 +14026,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource.AnnotationInheritance' id='juneau-rest-server.RestResource.AnnotationInheritance'>7.4.1 - Annotation Inheritance</a></h4>
-<div class='topic'><!-- START: 7.4.1 - juneau-rest-server.RestResource.AnnotationInheritance -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource.AnnotationInheritance' id='juneau-rest-server.RestResource.AnnotationInheritance'>6.4.1 - Annotation Inheritance</a></h4>
+<div class='topic'><!-- START: 6.4.1 - juneau-rest-server.RestResource.AnnotationInheritance -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource @RestResource} annotation can also be used on parents and interfaces of resource classes.
 	When multiple annotations are defined at different levels, the annotation values are combined.
@@ -14206,12 +14167,12 @@
 		</td>
 	</tr>
 </table>
-</div><!-- END: 7.4.1 - juneau-rest-server.RestResource.AnnotationInheritance -->
+</div><!-- END: 6.4.1 - juneau-rest-server.RestResource.AnnotationInheritance -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource.RestResourcePath' id='juneau-rest-server.RestResource.RestResourcePath'>7.4.2 - @RestResource(path)</a></h4>
-<div class='topic'><!-- START: 7.4.2 - juneau-rest-server.RestResource.RestResourcePath -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestResource.RestResourcePath' id='juneau-rest-server.RestResource.RestResourcePath'>6.4.2 - @RestResource(path)</a></h4>
+<div class='topic'><!-- START: 6.4.2 - juneau-rest-server.RestResource.RestResourcePath -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource#path() @RestResource(path)} annotation is used in the following situations:
 <p>
@@ -14334,13 +14295,13 @@
 	When variables are used on a path of a top-level resource deployed as a Spring bean in a Spring Boot application,
 	the first part of the URL must be a literal which will be used as the servlet path of the registered servlet.
 </p>
-</div><!-- END: 7.4.2 - juneau-rest-server.RestResource.RestResourcePath -->
-</div><!-- END: 7.4 - juneau-rest-server.RestResource -->
+</div><!-- END: 6.4.2 - juneau-rest-server.RestResource.RestResourcePath -->
+</div><!-- END: 6.4 - juneau-rest-server.RestResource -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestContext' id='juneau-rest-server.RestContext'>7.5 - RestContext</a></h3>
-<div class='topic'><!-- START: 7.5 - juneau-rest-server.RestContext -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestContext' id='juneau-rest-server.RestContext'>6.5 - RestContext</a></h3>
+<div class='topic'><!-- START: 6.5 - juneau-rest-server.RestContext -->
 <p>
 	The {@link org.apache.juneau.rest.RestContext} object is the workhorse class for all of the configuration
 	of a single REST resource class.
@@ -14388,12 +14349,12 @@
 	Through it, you can configure bean/serializer/parser settings, define config files, children, 
 		resource finders, info providers, etc...
 </p>
-</div><!-- END: 7.5 - juneau-rest-server.RestContext -->
+</div><!-- END: 6.5 - juneau-rest-server.RestContext -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod' id='juneau-rest-server.RestMethod'>7.6 - @RestMethod</a></h3>
-<div class='topic'><!-- START: 7.6 - juneau-rest-server.RestMethod -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod' id='juneau-rest-server.RestMethod'>6.6 - @RestMethod</a></h3>
+<div class='topic'><!-- START: 6.6 - juneau-rest-server.RestMethod -->
 <p>
 	REST Java methods are identified on REST servlets using the 
 	{@link org.apache.juneau.rest.annotation.RestMethod @RestMethod} annotation. 
@@ -14467,8 +14428,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.MethodParameters' id='juneau-rest-server.RestMethod.MethodParameters'>7.6.1 - Java Method Parameters</a></h4>
-<div class='topic'><!-- START: 7.6.1 - juneau-rest-server.RestMethod.MethodParameters -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.MethodParameters' id='juneau-rest-server.RestMethod.MethodParameters'>6.6.1 - Java Method Parameters</a></h4>
+<div class='topic'><!-- START: 6.6.1 - juneau-rest-server.RestMethod.MethodParameters -->
 <p>
 	Java methods can contain any of the following parameters in any order:
 </p>
@@ -14597,12 +14558,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_paramResolvers} - For configuring custom parameter types.
 </ul>
-</div><!-- END: 7.6.1 - juneau-rest-server.RestMethod.MethodParameters -->
+</div><!-- END: 6.6.1 - juneau-rest-server.RestMethod.MethodParameters -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestRequest' id='juneau-rest-server.RestMethod.RestRequest'>7.6.2 - RestRequest</a></h4>
-<div class='topic'><!-- START: 7.6.2 - juneau-rest-server.RestMethod.RestRequest -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestRequest' id='juneau-rest-server.RestMethod.RestRequest'>6.6.2 - RestRequest</a></h4>
+<div class='topic'><!-- START: 6.6.2 - juneau-rest-server.RestMethod.RestRequest -->
 <p>
 	The {@link org.apache.juneau.rest.RestRequest} object is an extension of the <l>HttpServletRequest</l> class
 	with various built-in convenience methods for use in building REST interfaces.
@@ -14633,12 +14594,12 @@
 		<li class='jm'>{@link org.apache.juneau.rest.RestRequest#getClasspathReaderResource(String,boolean,MediaType,boolean) getClasspathReaderResource(String,boolean,MediaType,boolean)} - Various methods for retrieving static files from classpath.
 	</ul>
 </ul>
-</div><!-- END: 7.6.2 - juneau-rest-server.RestMethod.RestRequest -->
+</div><!-- END: 6.6.2 - juneau-rest-server.RestMethod.RestRequest -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestResponse' id='juneau-rest-server.RestMethod.RestResponse'>7.6.3 - RestResponse</a></h4>
-<div class='topic'><!-- START: 7.6.3 - juneau-rest-server.RestMethod.RestResponse -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestResponse' id='juneau-rest-server.RestMethod.RestResponse'>6.6.3 - RestResponse</a></h4>
+<div class='topic'><!-- START: 6.6.3 - juneau-rest-server.RestMethod.RestResponse -->
 <p>
 	The {@link org.apache.juneau.rest.RestResponse} object is an extension of the <l>HttpServletResponse</l> class
 	with various built-in convenience methods for use in building REST interfaces.
@@ -14659,12 +14620,12 @@
 		<li class='jm'>{@link org.apache.juneau.rest.RestResponse#getDirectWriter(String) getDirectWriter(String)} - Direct access to underlying response writer.
 	</ul>
 </ul>
-</div><!-- END: 7.6.3 - juneau-rest-server.RestMethod.RestResponse -->
+</div><!-- END: 6.6.3 - juneau-rest-server.RestMethod.RestResponse -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestBody' id='juneau-rest-server.RestMethod.RequestBody'>7.6.4 - RequestBody</a></h4>
-<div class='topic'><!-- START: 7.6.4 - juneau-rest-server.RestMethod.RequestBody -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestBody' id='juneau-rest-server.RestMethod.RequestBody'>6.6.4 - RequestBody</a></h4>
+<div class='topic'><!-- START: 6.6.4 - juneau-rest-server.RestMethod.RequestBody -->
 <p>
 	The {@link org.apache.juneau.rest.RequestBody} object is the API for accessing the body of an HTTP request.
 	It can be accessed by passing it as a parameter on your REST Java method:
@@ -14701,12 +14662,12 @@
 <ul class='seealso'>
 	<li class='ja'>{@link org.apache.juneau.http.annotation.Body}
 </ul>
-</div><!-- END: 7.6.4 - juneau-rest-server.RestMethod.RequestBody -->
+</div><!-- END: 6.6.4 - juneau-rest-server.RestMethod.RequestBody -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestHeaders' id='juneau-rest-server.RestMethod.RequestHeaders'>7.6.5 - RequestHeaders</a></h4>
-<div class='topic'><!-- START: 7.6.5 - juneau-rest-server.RestMethod.RequestHeaders -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestHeaders' id='juneau-rest-server.RestMethod.RequestHeaders'>6.6.5 - RequestHeaders</a></h4>
+<div class='topic'><!-- START: 6.6.5 - juneau-rest-server.RestMethod.RequestHeaders -->
 <p>
 	The {@link org.apache.juneau.rest.RequestHeaders} object is the API for accessing the headers of an HTTP request.
 	It can be accessed by passing it as a parameter on your REST Java method:
@@ -14748,12 +14709,12 @@
 <ul class='seealso'>
 	<li class='ja'>{@link org.apache.juneau.http.annotation.Header}
 </ul>
-</div><!-- END: 7.6.5 - juneau-rest-server.RestMethod.RequestHeaders -->
+</div><!-- END: 6.6.5 - juneau-rest-server.RestMethod.RequestHeaders -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestAttributes' id='juneau-rest-server.RestMethod.RequestAttributes'>7.6.6 - RequestAttributes</a></h4>
-<div class='topic'><!-- START: 7.6.6 - juneau-rest-server.RestMethod.RequestAttributes -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestAttributes' id='juneau-rest-server.RestMethod.RequestAttributes'>6.6.6 - RequestAttributes</a></h4>
+<div class='topic'><!-- START: 6.6.6 - juneau-rest-server.RestMethod.RequestAttributes -->
 <p>
 	The {@link org.apache.juneau.rest.RequestAttributes} object is the API for accessing the standard servlet attributes on an HTTP request 
 	(i.e. {@link javax.servlet.ServletRequest#getAttribute(String)}.
@@ -14783,12 +14744,12 @@
 	Modifications made to request attributes through the <c>RequestAttributes</c> bean are automatically reflected in
 	the underlying servlet request attributes making it possible to mix the usage of both APIs.
 </p>
-</div><!-- END: 7.6.6 - juneau-rest-server.RestMethod.RequestAttributes -->
+</div><!-- END: 6.6.6 - juneau-rest-server.RestMethod.RequestAttributes -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestQuery' id='juneau-rest-server.RestMethod.RequestQuery'>7.6.7 - RequestQuery</a></h4>
-<div class='topic'><!-- START: 7.6.7 - juneau-rest-server.RestMethod.RequestQuery -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestQuery' id='juneau-rest-server.RestMethod.RequestQuery'>6.6.7 - RequestQuery</a></h4>
+<div class='topic'><!-- START: 6.6.7 - juneau-rest-server.RestMethod.RequestQuery -->
 <p>
 	The {@link org.apache.juneau.rest.RequestQuery} object is the API for accessing the GET query parameters of an HTTP request.
 	It can be accessed by passing it as a parameter on your REST Java method:
@@ -14835,12 +14796,12 @@
 	<li class='ja'>{@link org.apache.juneau.http.annotation.Query}
 	<li class='ja'>{@link org.apache.juneau.http.annotation.HasQuery}
 </ul>
-</div><!-- END: 7.6.7 - juneau-rest-server.RestMethod.RequestQuery -->
+</div><!-- END: 6.6.7 - juneau-rest-server.RestMethod.RequestQuery -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestFormData' id='juneau-rest-server.RestMethod.RequestFormData'>7.6.8 - RequestFormData</a></h4>
-<div class='topic'><!-- START: 7.6.8 - juneau-rest-server.RestMethod.RequestFormData -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestFormData' id='juneau-rest-server.RestMethod.RequestFormData'>6.6.8 - RequestFormData</a></h4>
+<div class='topic'><!-- START: 6.6.8 - juneau-rest-server.RestMethod.RequestFormData -->
 <p>
 	The {@link org.apache.juneau.rest.RequestFormData} object is the API for accessing the HTTP request body as form data.
 	It can be accessed by passing it as a parameter on your REST Java method:
@@ -14882,12 +14843,12 @@
 	<li class='ja'>{@link org.apache.juneau.http.annotation.FormData}
 	<li class='ja'>{@link org.apache.juneau.http.annotation.HasFormData}
 </ul>
-</div><!-- END: 7.6.8 - juneau-rest-server.RestMethod.RequestFormData -->
+</div><!-- END: 6.6.8 - juneau-rest-server.RestMethod.RequestFormData -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestMethodPath' id='juneau-rest-server.RestMethod.RestMethodPath'>7.6.9 - @RestMethod(path)</a></h4>
-<div class='topic'><!-- START: 7.6.9 - juneau-rest-server.RestMethod.RestMethodPath -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestMethodPath' id='juneau-rest-server.RestMethod.RestMethodPath'>6.6.9 - @RestMethod(path)</a></h4>
+<div class='topic'><!-- START: 6.6.9 - juneau-rest-server.RestMethod.RestMethodPath -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestMethod#path() @RestMethod(path)} annotation allows 
 	you to define URL path patterns to match against.
@@ -14991,12 +14952,12 @@
 	<li class='ja'>{@link org.apache.juneau.http.annotation.Path}
 	<li class='jc'>{@link org.apache.juneau.rest.RequestPath}
 </ul>
-</div><!-- END: 7.6.9 - juneau-rest-server.RestMethod.RestMethodPath -->
+</div><!-- END: 6.6.9 - juneau-rest-server.RestMethod.RestMethodPath -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestPathMatch' id='juneau-rest-server.RestMethod.RequestPathMatch'>7.6.10 - RequestPathMatch</a></h4>
-<div class='topic'><!-- START: 7.6.10 - juneau-rest-server.RestMethod.RequestPathMatch -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RequestPathMatch' id='juneau-rest-server.RestMethod.RequestPathMatch'>6.6.10 - RequestPathMatch</a></h4>
+<div class='topic'><!-- START: 6.6.10 - juneau-rest-server.RestMethod.RequestPathMatch -->
 <p>
 	The {@link org.apache.juneau.rest.RequestPath} object is the API for accessing the matched variables
 	and remainder on the URL path.
@@ -15035,12 +14996,12 @@
 <ul class='seealso'>
 	<li class='ja'>{@link org.apache.juneau.http.annotation.Path}
 </ul>
-</div><!-- END: 7.6.10 - juneau-rest-server.RestMethod.RequestPathMatch -->
+</div><!-- END: 6.6.10 - juneau-rest-server.RestMethod.RequestPathMatch -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.MethodReturnTypes' id='juneau-rest-server.RestMethod.MethodReturnTypes'>7.6.11 - Method Return Types</a></h4>
-<div class='topic'><!-- START: 7.6.11 - juneau-rest-server.RestMethod.MethodReturnTypes -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.MethodReturnTypes' id='juneau-rest-server.RestMethod.MethodReturnTypes'>6.6.11 - Method Return Types</a></h4>
+<div class='topic'><!-- START: 6.6.11 - juneau-rest-server.RestMethod.MethodReturnTypes -->
 <p>
 	The return type can be any serializable POJO as defined in {@doc PojoCategories}.
 	It can also be <jk>void</jk> if the method is not sending any output (e.g. a request redirect) or is 
@@ -15129,12 +15090,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_responseHandlers} - For configuring custom response handlers.
 </ul>
-</div><!-- END: 7.6.11 - juneau-rest-server.RestMethod.MethodReturnTypes -->
+</div><!-- END: 6.6.11 - juneau-rest-server.RestMethod.MethodReturnTypes -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.ReaderResource' id='juneau-rest-server.RestMethod.ReaderResource'>7.6.12 - ReaderResource</a></h4>
-<div class='topic'><!-- START: 7.6.12 - juneau-rest-server.RestMethod.ReaderResource -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.ReaderResource' id='juneau-rest-server.RestMethod.ReaderResource'>6.6.12 - ReaderResource</a></h4>
+<div class='topic'><!-- START: 6.6.12 - juneau-rest-server.RestMethod.ReaderResource -->
 <p>
 	The {@link org.apache.juneau.http.ReaderResource} class is a convenience object for defining thread-safe
 	reusable character-based responses.
@@ -15160,12 +15121,12 @@
 			.build();
 	}
 </p>
-</div><!-- END: 7.6.12 - juneau-rest-server.RestMethod.ReaderResource -->
+</div><!-- END: 6.6.12 - juneau-rest-server.RestMethod.ReaderResource -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.StreamResource' id='juneau-rest-server.RestMethod.StreamResource'>7.6.13 - StreamResource</a></h4>
-<div class='topic'><!-- START: 7.6.13 - juneau-rest-server.RestMethod.StreamResource -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.StreamResource' id='juneau-rest-server.RestMethod.StreamResource'>6.6.13 - StreamResource</a></h4>
+<div class='topic'><!-- START: 6.6.13 - juneau-rest-server.RestMethod.StreamResource -->
 <p>
 	The {@link org.apache.juneau.http.StreamResource} class is the binary equivalent to the {@link org.apache.juneau.http.ReaderResource} object.
 	In essence, it's a container for binary data with optional response headers.
@@ -15187,12 +15148,12 @@
 			.build();
 	}
 </p>
-</div><!-- END: 7.6.13 - juneau-rest-server.RestMethod.StreamResource -->
+</div><!-- END: 6.6.13 - juneau-rest-server.RestMethod.StreamResource -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestMethodMatchers' id='juneau-rest-server.RestMethod.RestMethodMatchers'>7.6.14 - @RestMethod(matchers)</a></h4>
-<div class='topic'><!-- START: 7.6.14 - juneau-rest-server.RestMethod.RestMethodMatchers -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.RestMethodMatchers' id='juneau-rest-server.RestMethod.RestMethodMatchers'>6.6.14 - @RestMethod(matchers)</a></h4>
+<div class='topic'><!-- START: 6.6.14 - juneau-rest-server.RestMethod.RestMethodMatchers -->
 <p>
 	{@link org.apache.juneau.rest.RestMatcher RestMatchers} are used to allow multiple Java methods to be 
 	tied to the same HTTP method and path, but differentiated by some request attribute such as a specific 
@@ -15246,12 +15207,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.matchers.MultipartFormDataMatcher}
 	<li class='jc'>{@link org.apache.juneau.rest.matchers.UrlEncodedFormMatcher}
 </ul>
-</div><!-- END: 7.6.14 - juneau-rest-server.RestMethod.RestMethodMatchers -->
+</div><!-- END: 6.6.14 - juneau-rest-server.RestMethod.RestMethodMatchers -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedResponses' id='juneau-rest-server.RestMethod.PredefinedResponses'>7.6.15 - Predefined Responses</a></h4>
-<div class='topic'><!-- START: 7.6.15 - juneau-rest-server.RestMethod.PredefinedResponses -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedResponses' id='juneau-rest-server.RestMethod.PredefinedResponses'>6.6.15 - Predefined Responses</a></h4>
+<div class='topic'><!-- START: 6.6.15 - juneau-rest-server.RestMethod.PredefinedResponses -->
 <p>
 	Predefined response beans are provided for all standard HTTP responses.
 	These can be used as-is or extended to provide customized HTTP responses. 
@@ -15361,12 +15322,12 @@
 		<jk>return new</jk> SeeOther(<js>"servlet:/pets"</js>);  
 	}
 </p>
-</div><!-- END: 7.6.15 - juneau-rest-server.RestMethod.PredefinedResponses -->
+</div><!-- END: 6.6.15 - juneau-rest-server.RestMethod.PredefinedResponses -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedExceptions' id='juneau-rest-server.RestMethod.PredefinedExceptions'>7.6.16 - Predefined Exceptions</a></h4>
-<div class='topic'><!-- START: 7.6.16 - juneau-rest-server.RestMethod.PredefinedExceptions -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedExceptions' id='juneau-rest-server.RestMethod.PredefinedExceptions'>6.6.16 - Predefined Exceptions</a></h4>
+<div class='topic'><!-- START: 6.6.16 - juneau-rest-server.RestMethod.PredefinedExceptions -->
 <p>
 	Exceptions are defined for all standardized HTTP responses.
 	These can be used to trigger HTTP errors simply by throwing an exception.
@@ -15433,12 +15394,12 @@
 	The important distinction is that when part of the thrown declaration, they show up in the generated Swagger
 	documentation, whereas they don't if not.  This behavior can be used to define what error conditions show in your Swagger doc.
 </p>
-</div><!-- END: 7.6.16 - juneau-rest-server.RestMethod.PredefinedExceptions -->
+</div><!-- END: 6.6.16 - juneau-rest-server.RestMethod.PredefinedExceptions -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedHelperBeans' id='juneau-rest-server.RestMethod.PredefinedHelperBeans'>7.6.17 - Predefined Helper Beans</a></h4>
-<div class='topic'><!-- START: 7.6.17 - juneau-rest-server.RestMethod.PredefinedHelperBeans -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestMethod.PredefinedHelperBeans' id='juneau-rest-server.RestMethod.PredefinedHelperBeans'>6.6.17 - Predefined Helper Beans</a></h4>
+<div class='topic'><!-- START: 6.6.17 - juneau-rest-server.RestMethod.PredefinedHelperBeans -->
 <p>
 	The {@link org.apache.juneau.rest.helper} package contains several predefined beans to help when constructing
 	REST interfaces.
@@ -15648,13 +15609,13 @@
 <p>
 	One distinction is that the former defines the description <js>"Redirect to servlet root"</js> in the generated Swagger documentation.
 </p>
-</div><!-- END: 7.6.17 - juneau-rest-server.RestMethod.PredefinedHelperBeans -->
-</div><!-- END: 7.6 - juneau-rest-server.RestMethod -->
+</div><!-- END: 6.6.17 - juneau-rest-server.RestMethod.PredefinedHelperBeans -->
+</div><!-- END: 6.6 - juneau-rest-server.RestMethod -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.restRPC' id='juneau-rest-server.restRPC'>7.7 - restRPC</a></h3>
-<div class='topic'><!-- START: 7.7 - juneau-rest-server.restRPC -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.restRPC' id='juneau-rest-server.restRPC'>6.7 - restRPC</a></h3>
+<div class='topic'><!-- START: 6.7 - juneau-rest-server.restRPC -->
 <p>
 	The restRPC (RPC over REST) API allows the creation of client-side remote proxy interfaces for calling methods on server-side POJOs using entirely REST.
 </p>
@@ -15973,12 +15934,12 @@
 <img class='bordered w800' src='doc-files/juneau-rest-server.restRPC.8.png'>
 <h5 class='figure'>Sample form entry page results</h5>
 <img class='bordered w800' src='doc-files/juneau-rest-server.restRPC.9.png'>
-</div><!-- END: 7.7 - juneau-rest-server.restRPC -->
+</div><!-- END: 6.7 - juneau-rest-server.restRPC -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OpenApiSchemaPartParsing' id='juneau-rest-server.OpenApiSchemaPartParsing'>7.8 - OpenAPI Schema Part Parsing</a></h3>
-<div class='topic'><!-- START: 7.8 - juneau-rest-server.OpenApiSchemaPartParsing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OpenApiSchemaPartParsing' id='juneau-rest-server.OpenApiSchemaPartParsing'>6.8 - OpenAPI Schema Part Parsing</a></h3>
+<div class='topic'><!-- START: 6.8 - juneau-rest-server.OpenApiSchemaPartParsing -->
 <p>
 	Parameters annotated with any of the following are parsed using the registered {@link org.apache.juneau.oapi.OpenApiParser} and
 	therefore support OpenAPI syntax and validation:
@@ -16088,12 +16049,12 @@
 	As you can see, the complexity of possible input types expands significantly.
 	For more information about valid parameter types, see {@doc juneau-marshall.OpenApiDetails.Parsers OpenAPI Parsers}
 </p>
-</div><!-- END: 7.8 - juneau-rest-server.OpenApiSchemaPartParsing -->
+</div><!-- END: 6.8 - juneau-rest-server.OpenApiSchemaPartParsing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OpenApiSchemaPartSerializing' id='juneau-rest-server.OpenApiSchemaPartSerializing'>7.9 - OpenAPI Schema Part Serializing</a></h3>
-<div class='topic'><!-- START: 7.9 - juneau-rest-server.OpenApiSchemaPartSerializing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OpenApiSchemaPartSerializing' id='juneau-rest-server.OpenApiSchemaPartSerializing'>6.9 - OpenAPI Schema Part Serializing</a></h3>
+<div class='topic'><!-- START: 6.9 - juneau-rest-server.OpenApiSchemaPartSerializing -->
 <p>
 	Parameters annotated with any of the following are serialized using the registered {@link org.apache.juneau.oapi.OpenApiSerializer} and
 	therefore support OpenAPI syntax and validation:
@@ -16160,12 +16121,12 @@
 <p>
 	For more information about the valid parameter types, see {@doc juneau-marshall.OpenApiDetails.Serializers OpenAPI Serializers}
 </p>
-</div><!-- END: 7.9 - juneau-rest-server.OpenApiSchemaPartSerializing -->
+</div><!-- END: 6.9 - juneau-rest-server.OpenApiSchemaPartSerializing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations' id='juneau-rest-server.HttpPartAnnotations'>7.10 - HTTP-Part Annotations</a></h3>
-<div class='topic'><!-- START: 7.10 - juneau-rest-server.HttpPartAnnotations -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations' id='juneau-rest-server.HttpPartAnnotations'>6.10 - HTTP-Part Annotations</a></h3>
+<div class='topic'><!-- START: 6.10 - juneau-rest-server.HttpPartAnnotations -->
 <p>
 	The annotations used for defining the schema for request HTTP parts are:
 </p>
@@ -16207,8 +16168,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Body' id='juneau-rest-server.HttpPartAnnotations.Body'>7.10.1 - @Body</a></h4>
-<div class='topic'><!-- START: 7.10.1 - juneau-rest-server.HttpPartAnnotations.Body -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Body' id='juneau-rest-server.HttpPartAnnotations.Body'>6.10.1 - @Body</a></h4>
+<div class='topic'><!-- START: 6.10.1 - juneau-rest-server.HttpPartAnnotations.Body -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Body @Body} annotation is used to identify POJOs to be used as the body of an HTTP request.
 </p>
@@ -16399,12 +16360,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RequestBody}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
 </ul>
-</div><!-- END: 7.10.1 - juneau-rest-server.HttpPartAnnotations.Body -->
+</div><!-- END: 6.10.1 - juneau-rest-server.HttpPartAnnotations.Body -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.FormData' id='juneau-rest-server.HttpPartAnnotations.FormData'>7.10.2 - @FormData</a></h4>
-<div class='topic'><!-- START: 7.10.2 - juneau-rest-server.HttpPartAnnotations.FormData -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.FormData' id='juneau-rest-server.HttpPartAnnotations.FormData'>6.10.2 - @FormData</a></h4>
+<div class='topic'><!-- START: 6.10.2 - juneau-rest-server.HttpPartAnnotations.FormData -->
 <p>
 	The {@link org.apache.juneau.http.annotation.FormData @FormData} annotation is used to retrieve request form post entries.
 </p>
@@ -16582,12 +16543,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RequestFormData}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
 </ul>
-</div><!-- END: 7.10.2 - juneau-rest-server.HttpPartAnnotations.FormData -->
+</div><!-- END: 6.10.2 - juneau-rest-server.HttpPartAnnotations.FormData -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.HasFormData' id='juneau-rest-server.HttpPartAnnotations.HasFormData'>7.10.3 - @HasFormData</a></h4>
-<div class='topic'><!-- START: 7.10.3 - juneau-rest-server.HttpPartAnnotations.HasFormData -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.HasFormData' id='juneau-rest-server.HttpPartAnnotations.HasFormData'>6.10.3 - @HasFormData</a></h4>
+<div class='topic'><!-- START: 6.10.3 - juneau-rest-server.HttpPartAnnotations.HasFormData -->
 <p>
 	This annotation can be used to detect the existence of a parameter when it's not set to a particular value.
 </p>
@@ -16654,12 +16615,12 @@
 	The {@link org.apache.juneau.http.annotation.HasQuery @HasQuery} annotation can be used to check for the existing of a URL parameter in the URL string
 	without triggering the servlet to drain the body content.
 </p>
-</div><!-- END: 7.10.3 - juneau-rest-server.HttpPartAnnotations.HasFormData -->
+</div><!-- END: 6.10.3 - juneau-rest-server.HttpPartAnnotations.HasFormData -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Query' id='juneau-rest-server.HttpPartAnnotations.Query'>7.10.4 - @Query</a></h4>
-<div class='topic'><!-- START: 7.10.4 - juneau-rest-server.HttpPartAnnotations.Query -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Query' id='juneau-rest-server.HttpPartAnnotations.Query'>6.10.4 - @Query</a></h4>
+<div class='topic'><!-- START: 6.10.4 - juneau-rest-server.HttpPartAnnotations.Query -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Query @Query} annotation is used to retrieve request URL query parameters.
 	It's identical to {@link org.apache.juneau.http.annotation.FormData @FormData}, but only retrieves the parameter from the URL string, not URL-encoded form posts.
@@ -16827,12 +16788,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RequestQuery}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
 </ul>
-</div><!-- END: 7.10.4 - juneau-rest-server.HttpPartAnnotations.Query -->
+</div><!-- END: 6.10.4 - juneau-rest-server.HttpPartAnnotations.Query -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.HasQuery' id='juneau-rest-server.HttpPartAnnotations.HasQuery'>7.10.5 - @HasQuery</a></h4>
-<div class='topic'><!-- START: 7.10.5 - juneau-rest-server.HttpPartAnnotations.HasQuery -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.HasQuery' id='juneau-rest-server.HttpPartAnnotations.HasQuery'>6.10.5 - @HasQuery</a></h4>
+<div class='topic'><!-- START: 6.10.5 - juneau-rest-server.HttpPartAnnotations.HasQuery -->
 <p>
 	Identical to {@link org.apache.juneau.http.annotation.HasFormData @HasFormData}, but only checks the existing of the parameter in the URL string, not
 	URL-encoded form posts.
@@ -16894,12 +16855,12 @@
 		<td><jk>null</jk></td>
 	</tr>
 </table>
-</div><!-- END: 7.10.5 - juneau-rest-server.HttpPartAnnotations.HasQuery -->
+</div><!-- END: 6.10.5 - juneau-rest-server.HttpPartAnnotations.HasQuery -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Header' id='juneau-rest-server.HttpPartAnnotations.Header'>7.10.6 - @Header</a></h4>
-<div class='topic'><!-- START: 7.10.6 - juneau-rest-server.HttpPartAnnotations.Header -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Header' id='juneau-rest-server.HttpPartAnnotations.Header'>6.10.6 - @Header</a></h4>
+<div class='topic'><!-- START: 6.10.6 - juneau-rest-server.HttpPartAnnotations.Header -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Header @Header} annotation is used to retrieve request headers.
 </p>
@@ -17052,12 +17013,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RequestHeaders}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
 </ul>
-</div><!-- END: 7.10.6 - juneau-rest-server.HttpPartAnnotations.Header -->
+</div><!-- END: 6.10.6 - juneau-rest-server.HttpPartAnnotations.Header -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Path' id='juneau-rest-server.HttpPartAnnotations.Path'>7.10.7 - @Path</a></h4>
-<div class='topic'><!-- START: 7.10.7 - juneau-rest-server.HttpPartAnnotations.Path -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Path' id='juneau-rest-server.HttpPartAnnotations.Path'>6.10.7 - @Path</a></h4>
+<div class='topic'><!-- START: 6.10.7 - juneau-rest-server.HttpPartAnnotations.Path -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Path @Path} annotation is used to retrieve request path parameters.
 </p>
@@ -17215,12 +17176,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RequestPath}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
 </ul>
-</div><!-- END: 7.10.7 - juneau-rest-server.HttpPartAnnotations.Path -->
+</div><!-- END: 6.10.7 - juneau-rest-server.HttpPartAnnotations.Path -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Request' id='juneau-rest-server.HttpPartAnnotations.Request'>7.10.8 - @Request</a></h4>
-<div class='topic'><!-- START: 7.10.8 - juneau-rest-server.HttpPartAnnotations.Request -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Request' id='juneau-rest-server.HttpPartAnnotations.Request'>6.10.8 - @Request</a></h4>
+<div class='topic'><!-- START: 6.10.8 - juneau-rest-server.HttpPartAnnotations.Request -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Request @Request} annotation can be applied to a parameter interface type of a <ja>@RestMethod</ja>-annotated method 
 	to identify it as an interface for retrieving HTTP parts through a bean-like interface.
@@ -17304,12 +17265,12 @@
 	<ja>@Request</ja>
 	<jk>public interface</jk> UpdatePet {...}
 </p>
-</div><!-- END: 7.10.8 - juneau-rest-server.HttpPartAnnotations.Request -->
+</div><!-- END: 6.10.8 - juneau-rest-server.HttpPartAnnotations.Request -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Response' id='juneau-rest-server.HttpPartAnnotations.Response'>7.10.9 - @Response</a></h4>
-<div class='topic'><!-- START: 7.10.9 - juneau-rest-server.HttpPartAnnotations.Response -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Response' id='juneau-rest-server.HttpPartAnnotations.Response'>6.10.9 - @Response</a></h4>
+<div class='topic'><!-- START: 6.10.9 - juneau-rest-server.HttpPartAnnotations.Response -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Response @Response} annotation is used to identify schema information about an HTTP response.
 </p>
@@ -17698,12 +17659,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartSerializing}
 </ul>
-</div><!-- END: 7.10.9 - juneau-rest-server.HttpPartAnnotations.Response -->
+</div><!-- END: 6.10.9 - juneau-rest-server.HttpPartAnnotations.Response -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.ResponseHeader' id='juneau-rest-server.HttpPartAnnotations.ResponseHeader'>7.10.10 - @ResponseHeader</a></h4>
-<div class='topic'><!-- START: 7.10.10 - juneau-rest-server.HttpPartAnnotations.ResponseHeader -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.ResponseHeader' id='juneau-rest-server.HttpPartAnnotations.ResponseHeader'>6.10.10 - @ResponseHeader</a></h4>
+<div class='topic'><!-- START: 6.10.10 - juneau-rest-server.HttpPartAnnotations.ResponseHeader -->
 <p>
 	The {@link org.apache.juneau.http.annotation.ResponseHeader @ResponseHeader} annotation can be applied to <ja>@RestMethod</ja>-annotated parameters to denote them as an HTTP response headers.
 </p>
@@ -17814,12 +17775,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.10.10 - juneau-rest-server.HttpPartAnnotations.ResponseHeader -->
+</div><!-- END: 6.10.10 - juneau-rest-server.HttpPartAnnotations.ResponseHeader -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.ResponseStatus' id='juneau-rest-server.HttpPartAnnotations.ResponseStatus'>7.10.11 - @ResponseStatus</a></h4>
-<div class='topic'><!-- START: 7.10.11 - juneau-rest-server.HttpPartAnnotations.ResponseStatus -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.ResponseStatus' id='juneau-rest-server.HttpPartAnnotations.ResponseStatus'>6.10.11 - @ResponseStatus</a></h4>
+<div class='topic'><!-- START: 6.10.11 - juneau-rest-server.HttpPartAnnotations.ResponseStatus -->
 <p>
 	The {@link org.apache.juneau.http.annotation.ResponseStatus @ResponseStatus} annotation annotation can be applied to <ja>@RestMethod</ja>-annotated parameters to denote them as an HTTP response status codes.
 </p>
@@ -17844,13 +17805,13 @@
 			status.set(401);
 	}
 </p>
-</div><!-- END: 7.10.11 - juneau-rest-server.HttpPartAnnotations.ResponseStatus -->
-</div><!-- END: 7.10 - juneau-rest-server.HttpPartAnnotations -->
+</div><!-- END: 6.10.11 - juneau-rest-server.HttpPartAnnotations.ResponseStatus -->
+</div><!-- END: 6.10 - juneau-rest-server.HttpPartAnnotations -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HandlingFormPosts' id='juneau-rest-server.HandlingFormPosts'>7.11 - Handling Form Posts</a></h3>
-<div class='topic'><!-- START: 7.11 - juneau-rest-server.HandlingFormPosts -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HandlingFormPosts' id='juneau-rest-server.HandlingFormPosts'>6.11 - Handling Form Posts</a></h3>
+<div class='topic'><!-- START: 6.11 - juneau-rest-server.HandlingFormPosts -->
 <p>
 	The best way to handle a form post is usually by using an input bean.
 	The following is a class that takes in URL-Encoded form post of the 
@@ -17900,12 +17861,12 @@
 	has parsed the body of the request.
 	<br>This applies to WHENEVER you use <l>@Body</l> or {@link org.apache.juneau.rest.RestRequest#getBody()}
 </div>
-</div><!-- END: 7.11 - juneau-rest-server.HandlingFormPosts -->
+</div><!-- END: 6.11 - juneau-rest-server.HandlingFormPosts -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HandlingMultiPartFormPosts' id='juneau-rest-server.HandlingMultiPartFormPosts'>7.12 - Handling Multi-Part Form Posts</a></h3>
-<div class='topic'><!-- START: 7.12 - juneau-rest-server.HandlingMultiPartFormPosts -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HandlingMultiPartFormPosts' id='juneau-rest-server.HandlingMultiPartFormPosts'>6.12 - Handling Multi-Part Form Posts</a></h3>
+<div class='topic'><!-- START: 6.12 - juneau-rest-server.HandlingMultiPartFormPosts -->
 <p>
 	The Juneau framework does not natively support multipart form posts.  
 	However, it can be done in conjunction with the Apache Commons File Upload library or through the Servlet 3.0 API directly.
@@ -17977,12 +17938,12 @@
 		<jk>return new</jk> SeeOtherRoot(); <jc>// Redirect to the servlet root.</jc>
 	}
 </p>
-</div><!-- END: 7.12 - juneau-rest-server.HandlingMultiPartFormPosts -->
+</div><!-- END: 6.12 - juneau-rest-server.HandlingMultiPartFormPosts -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Serializers' id='juneau-rest-server.Serializers'>7.13 - Serializers</a></h3>
-<div class='topic'><!-- START: 7.13 - juneau-rest-server.Serializers -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Serializers' id='juneau-rest-server.Serializers'>6.13 - Serializers</a></h3>
+<div class='topic'><!-- START: 6.13 - juneau-rest-server.Serializers -->
 <p>
 	REST resources use the {@link org.apache.juneau.serializer.Serializer} API for defining serializers for 
 	serializing response POJOs.
@@ -18044,12 +18005,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_serializers}
 </ul>
-</div><!-- END: 7.13 - juneau-rest-server.Serializers -->
+</div><!-- END: 6.13 - juneau-rest-server.Serializers -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Parsers' id='juneau-rest-server.Parsers'>7.14 - Parsers</a></h3>
-<div class='topic'><!-- START: 7.14 - juneau-rest-server.Parsers -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Parsers' id='juneau-rest-server.Parsers'>6.14 - Parsers</a></h3>
+<div class='topic'><!-- START: 6.14 - juneau-rest-server.Parsers -->
 <p>
 	REST resources use the {@link org.apache.juneau.parser.Parser} API for defining parsers for parsing request
 	body content and converting them into POJOs.
@@ -18109,12 +18070,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_parsers}
 </ul>
-</div><!-- END: 7.14 - juneau-rest-server.Parsers -->
+</div><!-- END: 6.14 - juneau-rest-server.Parsers -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurableProperties' id='juneau-rest-server.ConfigurableProperties'>7.15 - Configurable Properties</a></h3>
-<div class='topic'><!-- START: 7.15 - juneau-rest-server.ConfigurableProperties -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurableProperties' id='juneau-rest-server.ConfigurableProperties'>6.15 - Configurable Properties</a></h3>
+<div class='topic'><!-- START: 6.15 - juneau-rest-server.ConfigurableProperties -->
 <p>
 	As shown in previous sections, Juneau serializers and parsers are highly-configurable through properties.
 	(See {@doc ConfigurableProperties})
@@ -18195,12 +18156,12 @@
 	<li class='jc'>{@link org.apache.juneau.rest.RestContextProperties} 
 	<li class='jc'>{@link org.apache.juneau.rest.RestMethodProperties} 
 </ul>
-</div><!-- END: 7.15 - juneau-rest-server.ConfigurableProperties -->
+</div><!-- END: 6.15 - juneau-rest-server.ConfigurableProperties -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurableAnnotations' id='juneau-rest-server.ConfigurableAnnotations'>7.16 - Configurable Annotations</a></h3>
-<div class='topic'><!-- START: 7.16 - juneau-rest-server.ConfigurableAnnotations -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurableAnnotations' id='juneau-rest-server.ConfigurableAnnotations'>6.16 - Configurable Annotations</a></h3>
+<div class='topic'><!-- START: 6.16 - juneau-rest-server.ConfigurableAnnotations -->
 <p>
 	Config annotations allow you to define serializer and parser properties using specialized annotations.
 	All configuration properties have annotation-equivalents.
@@ -18258,12 +18219,12 @@
 <p>
 	Config annotations can be defined at both the class and method level just like properties.
 </p>
-</div><!-- END: 7.16 - juneau-rest-server.ConfigurableAnnotations -->
+</div><!-- END: 6.16 - juneau-rest-server.ConfigurableAnnotations -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Transforms' id='juneau-rest-server.Transforms'>7.17 - Transforms</a></h3>
-<div class='topic'><!-- START: 7.17 - juneau-rest-server.Transforms -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Transforms' id='juneau-rest-server.Transforms'>6.17 - Transforms</a></h3>
+<div class='topic'><!-- START: 6.17 - juneau-rest-server.Transforms -->
 <p>
 	The Juneau serializers and parsers can be configured on how to handle POJOs through the use of Transforms.
 	(See {@doc juneau-marshall.Transforms Transforms})
@@ -18317,12 +18278,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.17 - juneau-rest-server.Transforms -->
+</div><!-- END: 6.17 - juneau-rest-server.Transforms -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.URIs' id='juneau-rest-server.URIs'>7.18 - URIs</a></h3>
-<div class='topic'><!-- START: 7.18 - juneau-rest-server.URIs -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.URIs' id='juneau-rest-server.URIs'>6.18 - URIs</a></h3>
+<div class='topic'><!-- START: 6.18 - juneau-rest-server.URIs -->
 <p>
 	As mention earlier {@doc juneau-marshall.URIs here}, Juneau serializers have sophisticated support for transforming relative URIs to absolute form.
 </p>
@@ -18402,12 +18363,12 @@
 <p>
 	URIs are resolved by both regular and part serializers.
 </p>
-</div><!-- END: 7.18 - juneau-rest-server.URIs -->
+</div><!-- END: 6.18 - juneau-rest-server.URIs -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Guards' id='juneau-rest-server.Guards'>7.19 - Guards</a></h3>
-<div class='topic'><!-- START: 7.19 - juneau-rest-server.Guards -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Guards' id='juneau-rest-server.Guards'>6.19 - Guards</a></h3>
+<div class='topic'><!-- START: 6.19 - juneau-rest-server.Guards -->
 <p>
 	Guards are classes that control access to REST classes and methods.
 </p>
@@ -18480,12 +18441,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_guards}
 </ul>
-</div><!-- END: 7.19 - juneau-rest-server.Guards -->
+</div><!-- END: 6.19 - juneau-rest-server.Guards -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RoleGuards' id='juneau-rest-server.RoleGuards'>7.20 - Role guards</a></h3>
-<div class='topic'><!-- START: 7.20 - juneau-rest-server.RoleGuards -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RoleGuards' id='juneau-rest-server.RoleGuards'>6.20 - Role guards</a></h3>
+<div class='topic'><!-- START: 6.20 - juneau-rest-server.RoleGuards -->
 <p>
 	Specialized guards are provided for controlling access to servlet classes and methods based on user roles.
 	These are controlled via annotations on the REST class and methods:
@@ -18548,12 +18509,12 @@
 		...
 	}
 </p>
-</div><!-- END: 7.20 - juneau-rest-server.RoleGuards -->
+</div><!-- END: 6.20 - juneau-rest-server.RoleGuards -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Converters' id='juneau-rest-server.Converters'>7.21 - Converters</a></h3>
-<div class='topic'><!-- START: 7.21 - juneau-rest-server.Converters -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Converters' id='juneau-rest-server.Converters'>6.21 - Converters</a></h3>
+<div class='topic'><!-- START: 6.21 - juneau-rest-server.Converters -->
 <p>
 	Converters can be thought of as "post-processors" for POJOs before they get passed to the serializers.
 </p>
@@ -18652,12 +18613,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_converters} 
 </ul>
-</div><!-- END: 7.21 - juneau-rest-server.Converters -->
+</div><!-- END: 6.21 - juneau-rest-server.Converters -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Messages' id='juneau-rest-server.Messages'>7.22 - Messages</a></h3>
-<div class='topic'><!-- START: 7.22 - juneau-rest-server.Messages -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Messages' id='juneau-rest-server.Messages'>6.22 - Messages</a></h3>
+<div class='topic'><!-- START: 6.22 - juneau-rest-server.Messages -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource#messages @RestResource(messages)} annotation is used to associate a resource bundle with a servlet class.
 </p>
@@ -18702,12 +18663,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_messages}
 </ul>
-</div><!-- END: 7.22 - juneau-rest-server.Messages -->
+</div><!-- END: 6.22 - juneau-rest-server.Messages -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Encoders' id='juneau-rest-server.Encoders'>7.23 - Encoders</a></h3>
-<div class='topic'><!-- START: 7.23 - juneau-rest-server.Encoders -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Encoders' id='juneau-rest-server.Encoders'>6.23 - Encoders</a></h3>
+<div class='topic'><!-- START: 6.23 - juneau-rest-server.Encoders -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource#encoders @RestResource(encoders)} annotation can 
 	be used to associate character encoders with a servlet class.
@@ -18740,12 +18701,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_encoders}
 </ul>
-</div><!-- END: 7.23 - juneau-rest-server.Encoders -->
+</div><!-- END: 6.23 - juneau-rest-server.Encoders -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.SvlVariables' id='juneau-rest-server.SvlVariables'>7.24 - SVL Variables</a></h3>
-<div class='topic'><!-- START: 7.24 - juneau-rest-server.SvlVariables -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.SvlVariables' id='juneau-rest-server.SvlVariables'>6.24 - SVL Variables</a></h3>
+<div class='topic'><!-- START: 6.24 - juneau-rest-server.SvlVariables -->
 <p>	
 	In the previous examples, there were several cases where embedded variables were contained within
 	annotation values:
@@ -18757,7 +18718,7 @@
 </p>
 <p>
 	Variables take the form <l>$X{contents}</l> where <l>X</l> can consist of zero or more ASCII characters and <l>contents</l> can be virtually anything.
-	This is called Simple Variable Language, or SVL, and is defined here: {@doc juneau-svl juneau-svl}.
+	This is called Simple Variable Language, or SVL, and is defined here: {@doc juneau-marshall.SimpleVariableLanguage Simple Variable Language}.
 </p>
 <h5 class='topic'>Features</h5>
 <ul class='spaced-list'>
@@ -19014,12 +18975,12 @@
 		<td class='code'>$W{MenuItemWidget}</td>
 	</tr>
 </table>
-</div><!-- END: 7.24 - juneau-rest-server.SvlVariables -->
+</div><!-- END: 6.24 - juneau-rest-server.SvlVariables -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurationFiles' id='juneau-rest-server.ConfigurationFiles'>7.25 - Configuration Files</a></h3>
-<div class='topic'><!-- START: 7.25 - juneau-rest-server.ConfigurationFiles -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ConfigurationFiles' id='juneau-rest-server.ConfigurationFiles'>6.25 - Configuration Files</a></h3>
+<div class='topic'><!-- START: 6.25 - juneau-rest-server.ConfigurationFiles -->
 <p>
 	The Server API provides methods for associating configuration files with REST servlets so that 
 	configuration properties can be defined in external files.
@@ -19184,12 +19145,12 @@
 <ul class='seealso'>
 	<li>{@doc juneau-config}
 </ul>
-</div><!-- END: 7.25 - juneau-rest-server.ConfigurationFiles -->
+</div><!-- END: 6.25 - juneau-rest-server.ConfigurationFiles -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.StaticFiles' id='juneau-rest-server.StaticFiles'>7.26 - Static files</a></h3>
-<div class='topic'><!-- START: 7.26 - juneau-rest-server.StaticFiles -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.StaticFiles' id='juneau-rest-server.StaticFiles'>6.26 - Static files</a></h3>
+<div class='topic'><!-- START: 6.26 - juneau-rest-server.StaticFiles -->
 <p>
 	The {@link org.apache.juneau.rest.annotation.RestResource#staticFiles @RestResource(staticFiles)} 
 	annotation is used to define paths and locations of statically-served files such as images or HTML 
@@ -19235,12 +19196,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_staticFiles}
 </ul>
-</div><!-- END: 7.26 - juneau-rest-server.StaticFiles -->
+</div><!-- END: 6.26 - juneau-rest-server.StaticFiles -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ClientVersioning' id='juneau-rest-server.ClientVersioning'>7.27 - Client Versioning</a></h3>
-<div class='topic'><!-- START: 7.27 - juneau-rest-server.ClientVersioning -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.ClientVersioning' id='juneau-rest-server.ClientVersioning'>6.27 - Client Versioning</a></h3>
+<div class='topic'><!-- START: 6.27 - juneau-rest-server.ClientVersioning -->
 <p>
 	Client version headers are used to support backwards compatibility for breaking REST interface changes.
 	Using them, you're able to return different responses based on which client is making a request.
@@ -19282,12 +19243,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_clientVersionHeader}
 </ul>
-</div><!-- END: 7.27 - juneau-rest-server.ClientVersioning -->
+</div><!-- END: 6.27 - juneau-rest-server.ClientVersioning -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestInfoProvider' id='juneau-rest-server.RestInfoProvider'>7.28 - RestInfoProvider</a></h3>
-<div class='topic'><!-- START: 7.28 - juneau-rest-server.RestInfoProvider -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestInfoProvider' id='juneau-rest-server.RestInfoProvider'>6.28 - RestInfoProvider</a></h3>
+<div class='topic'><!-- START: 6.28 - juneau-rest-server.RestInfoProvider -->
 <p>
 	The {@link org.apache.juneau.rest.RestInfoProvider} class is used to find the title
 	and description for your resource and also generate the Swagger documentation.
@@ -19334,8 +19295,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestInfoProvider.BasicRestInfoProvider' id='juneau-rest-server.RestInfoProvider.BasicRestInfoProvider'>7.28.1 - BasicRestInfoProvider</a></h4>
-<div class='topic'><!-- START: 7.28.1 - juneau-rest-server.RestInfoProvider.BasicRestInfoProvider -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.RestInfoProvider.BasicRestInfoProvider' id='juneau-rest-server.RestInfoProvider.BasicRestInfoProvider'>6.28.1 - BasicRestInfoProvider</a></h4>
+<div class='topic'><!-- START: 6.28.1 - juneau-rest-server.RestInfoProvider.BasicRestInfoProvider -->
 <p>
 	The {@link org.apache.juneau.rest.BasicRestInfoProvider} class is the default implementation of the
 	{@link org.apache.juneau.rest.RestInfoProvider} interface.
@@ -19353,13 +19314,13 @@
 	The class itself is designed to be extended if you wish to rely mostly on the default behavior, but tweak
 	certain aspects.
 </p>
-</div><!-- END: 7.28.1 - juneau-rest-server.RestInfoProvider.BasicRestInfoProvider -->
-</div><!-- END: 7.28 - juneau-rest-server.RestInfoProvider -->
+</div><!-- END: 6.28.1 - juneau-rest-server.RestInfoProvider.BasicRestInfoProvider -->
+</div><!-- END: 6.28 - juneau-rest-server.RestInfoProvider -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger' id='juneau-rest-server.Swagger'>7.29 - Swagger</a></h3>
-<div class='topic'><!-- START: 7.29 - juneau-rest-server.Swagger -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger' id='juneau-rest-server.Swagger'>6.29 - Swagger</a></h3>
+<div class='topic'><!-- START: 6.29 - juneau-rest-server.Swagger -->
 <p>
 	One of the most useful features of Juneau is the ability to generate Swagger-based OPTIONS pages for self-documenting designs 
 	(i.e. REST interfaces that document themselves).
@@ -19375,8 +19336,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.BasicRestServlet' id='juneau-rest-server.Swagger.BasicRestServlet'>7.29.1 - BasicRestServlet</a></h4>
-<div class='topic'><!-- START: 7.29.1 - juneau-rest-server.Swagger.BasicRestServlet -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.BasicRestServlet' id='juneau-rest-server.Swagger.BasicRestServlet'>6.29.1 - BasicRestServlet</a></h4>
+<div class='topic'><!-- START: 6.29.1 - juneau-rest-server.Swagger.BasicRestServlet -->
 <p>
 	Any subclass of {@link org.apache.juneau.rest.BasicRestServlet} gets an auto-generated Swagger UI when performing an <c>OPTIONS</c>
 	request with <c>Accept:text/html</c>.
@@ -19451,12 +19412,12 @@
 	Note that to have your resource create Swagger UI, you must either extend from {@link org.apache.juneau.rest.BasicRestServlet} or provide
 	your own <ja>@RestMethod</ja>-annotated method that returns a {@link org.apache.juneau.dto.swagger.Swagger} object and a {@link org.apache.juneau.dto.swagger.ui.SwaggerUI} swap.
 </p>
-</div><!-- END: 7.29.1 - juneau-rest-server.Swagger.BasicRestServlet -->
+</div><!-- END: 6.29.1 - juneau-rest-server.Swagger.BasicRestServlet -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.BasicSwaggerInfo' id='juneau-rest-server.Swagger.BasicSwaggerInfo'>7.29.2 - Basic Swagger Info</a></h4>
-<div class='topic'><!-- START: 7.29.2 - juneau-rest-server.Swagger.BasicSwaggerInfo -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.BasicSwaggerInfo' id='juneau-rest-server.Swagger.BasicSwaggerInfo'>6.29.2 - Basic Swagger Info</a></h4>
+<div class='topic'><!-- START: 6.29.2 - juneau-rest-server.Swagger.BasicSwaggerInfo -->
 <p>
 	Let's look at the various parts of the <c>Petstore</c> application Swagger UI to see how they are defined.
 </p>
@@ -19617,12 +19578,12 @@
 	<li>Resource bundle
 	<li>Swagger JSON file
 </ol>
-</div><!-- END: 7.29.2 - juneau-rest-server.Swagger.BasicSwaggerInfo -->
+</div><!-- END: 6.29.2 - juneau-rest-server.Swagger.BasicSwaggerInfo -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Tags' id='juneau-rest-server.Swagger.Tags'>7.29.3 - Tags</a></h4>
-<div class='topic'><!-- START: 7.29.3 - juneau-rest-server.Swagger.Tags -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Tags' id='juneau-rest-server.Swagger.Tags'>6.29.3 - Tags</a></h4>
+<div class='topic'><!-- START: 6.29.3 - juneau-rest-server.Swagger.Tags -->
 <p>
 	Tags allow you to group operations into general categories.
 	In the user interface, these can be expanded/collapsed by clicking on the tag sections.
@@ -19718,12 +19679,12 @@
 	show up at the top of the page:
 </p>
 <img class='bordered w900' src='doc-files/juneau-rest-server.Swagger.5.png'>
-</div><!-- END: 7.29.3 - juneau-rest-server.Swagger.Tags -->
+</div><!-- END: 6.29.3 - juneau-rest-server.Swagger.Tags -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Operations' id='juneau-rest-server.Swagger.Operations'>7.29.4 - Operations</a></h4>
-<div class='topic'><!-- START: 7.29.4 - juneau-rest-server.Swagger.Operations -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Operations' id='juneau-rest-server.Swagger.Operations'>6.29.4 - Operations</a></h4>
+<div class='topic'><!-- START: 6.29.4 - juneau-rest-server.Swagger.Operations -->
 <p>
 	<ja>@RestMethod</ja>-annotated methods automatically get rendered as Swagger operations:
 </p>
@@ -19763,12 +19724,12 @@
 		...
 	}
 </p>
-</div><!-- END: 7.29.4 - juneau-rest-server.Swagger.Operations -->
+</div><!-- END: 6.29.4 - juneau-rest-server.Swagger.Operations -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Parameters' id='juneau-rest-server.Swagger.Parameters'>7.29.5 - Parameters</a></h4>
-<div class='topic'><!-- START: 7.29.5 - juneau-rest-server.Swagger.Parameters -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Parameters' id='juneau-rest-server.Swagger.Parameters'>6.29.5 - Parameters</a></h4>
+<div class='topic'><!-- START: 6.29.5 - juneau-rest-server.Swagger.Parameters -->
 <p>
 	Expanding operations shows you a list of parameters:
 </p>
@@ -19903,12 +19864,12 @@
 <p>
 	Note that the schema information on the body parameter is automatically detected if not provided.
 </p>
-</div><!-- END: 7.29.5 - juneau-rest-server.Swagger.Parameters -->
+</div><!-- END: 6.29.5 - juneau-rest-server.Swagger.Parameters -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.ParameterExamples' id='juneau-rest-server.Swagger.ParameterExamples'>7.29.6 - Parameter Examples</a></h4>
-<div class='topic'><!-- START: 7.29.6 - juneau-rest-server.Swagger.ParameterExamples -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.ParameterExamples' id='juneau-rest-server.Swagger.ParameterExamples'>6.29.6 - Parameter Examples</a></h4>
+<div class='topic'><!-- START: 6.29.6 - juneau-rest-server.Swagger.ParameterExamples -->
 <p>
 	The <c>model</c> select box in the parameters can be expanded to show examples:
 </p>
@@ -20129,12 +20090,12 @@
 		<li class='jf'>{@link org.apache.juneau.jsonschema.JsonSchemaGenerator#JSONSCHEMA_allowNestedExamples JSONSCHEMA_allowNestedExamples}
 	</ul>
 </ul>
-</div><!-- END: 7.29.6 - juneau-rest-server.Swagger.ParameterExamples -->
+</div><!-- END: 6.29.6 - juneau-rest-server.Swagger.ParameterExamples -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Responses' id='juneau-rest-server.Swagger.Responses'>7.29.7 - Responses</a></h4>
-<div class='topic'><!-- START: 7.29.7 - juneau-rest-server.Swagger.Responses -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Responses' id='juneau-rest-server.Swagger.Responses'>6.29.7 - Responses</a></h4>
+<div class='topic'><!-- START: 6.29.7 - juneau-rest-server.Swagger.Responses -->
 <p>
 	Under the input parameters are listed the possible responses for the resource:
 </p>
@@ -20174,12 +20135,12 @@
 	<li class='link'>{@doc juneau-rest-server.HttpPartAnnotations.ResponseHeader}
 	<li class='link'>{@doc juneau-rest-server.HttpPartAnnotations.ResponseStatus}
 </ul>
-</div><!-- END: 7.29.7 - juneau-rest-server.Swagger.Responses -->
+</div><!-- END: 6.29.7 - juneau-rest-server.Swagger.Responses -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.ResponseExamples' id='juneau-rest-server.Swagger.ResponseExamples'>7.29.8 - Response Examples</a></h4>
-<div class='topic'><!-- START: 7.29.8 - juneau-rest-server.Swagger.ResponseExamples -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.ResponseExamples' id='juneau-rest-server.Swagger.ResponseExamples'>6.29.8 - Response Examples</a></h4>
+<div class='topic'><!-- START: 6.29.8 - juneau-rest-server.Swagger.ResponseExamples -->
 <p>
 	The <c>model</c> select box in the responses can be expanded to show examples:
 </p>
@@ -20397,12 +20358,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.29.8 - juneau-rest-server.Swagger.ResponseExamples -->
+</div><!-- END: 6.29.8 - juneau-rest-server.Swagger.ResponseExamples -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Models' id='juneau-rest-server.Swagger.Models'>7.29.9 - Models</a></h4>
-<div class='topic'><!-- START: 7.29.9 - juneau-rest-server.Swagger.Models -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Models' id='juneau-rest-server.Swagger.Models'>6.29.9 - Models</a></h4>
+<div class='topic'><!-- START: 6.29.9 - juneau-rest-server.Swagger.Models -->
 <p>
 	The {@link org.apache.juneau.jsonschema.JsonSchemaGenerator#JSONSCHEMA_useBeanDefs} setting can be used to reduce the size of your
 	generated Swagger JSON files by creating model definitions for beans and referencing those definitions through <c>$ref</c> attributes.
@@ -20495,12 +20456,12 @@
 	Note that this does not affect how the information is rendered for that bean in the Swagger UI:
 </p>
 <img class='bordered w900' src='doc-files/juneau-rest-server.Swagger.Models.3.png'>
-</div><!-- END: 7.29.9 - juneau-rest-server.Swagger.Models -->
+</div><!-- END: 6.29.9 - juneau-rest-server.Swagger.Models -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Stylesheet' id='juneau-rest-server.Swagger.Stylesheet'>7.29.10 - SwaggerUI.css</a></h4>
-<div class='topic'><!-- START: 7.29.10 - juneau-rest-server.Swagger.Stylesheet -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Swagger.Stylesheet' id='juneau-rest-server.Swagger.Stylesheet'>6.29.10 - SwaggerUI.css</a></h4>
+<div class='topic'><!-- START: 6.29.10 - juneau-rest-server.Swagger.Stylesheet -->
 <p>
 	The look-and-feel of the Swagger UI is controlled via a single CSS file:  <c>SwaggerUI.css</c>.
 </p>
@@ -20509,13 +20470,13 @@
 	It's a simple straightforward file consisting of less than 350 lines.
 	This file can be modified to change the look-and-feel of your Swagger UI.
 </p>
-</div><!-- END: 7.29.10 - juneau-rest-server.Swagger.Stylesheet -->
-</div><!-- END: 7.29 - juneau-rest-server.Swagger -->
+</div><!-- END: 6.29.10 - juneau-rest-server.Swagger.Stylesheet -->
+</div><!-- END: 6.29 - juneau-rest-server.Swagger -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation' id='juneau-rest-server.HtmlDocAnnotation'>7.30 - @HtmlDocConfig</a></h3>
-<div class='topic'><!-- START: 7.30 - juneau-rest-server.HtmlDocAnnotation -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation' id='juneau-rest-server.HtmlDocAnnotation'>6.30 - @HtmlDocConfig</a></h3>
+<div class='topic'><!-- START: 6.30 - juneau-rest-server.HtmlDocAnnotation -->
 <p>
 	The {@link org.apache.juneau.html.annotation.HtmlDocConfig @HtmlDocConfig} annotation is used to customize the HTML 
 	view of your serialized POJOs.
@@ -20631,8 +20592,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.UIvsDI' id='juneau-rest-server.HtmlDocAnnotation.UIvsDI'>7.30.1 - User Interfaces (UI) vs. Developer Interfaces (DI)</a></h4>
-<div class='topic'><!-- START: 7.30.1 - juneau-rest-server.HtmlDocAnnotation.UIvsDI -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.UIvsDI' id='juneau-rest-server.HtmlDocAnnotation.UIvsDI'>6.30.1 - User Interfaces (UI) vs. Developer Interfaces (DI)</a></h4>
+<div class='topic'><!-- START: 6.30.1 - juneau-rest-server.HtmlDocAnnotation.UIvsDI -->
 <p>
 	An important distinction needs to be made about the HTML representations produced by the REST
 	API.  These should not be considered User Interfaces, but rather Developer Interfaces.
@@ -20673,12 +20634,12 @@
 		The architecture is flexible enough that you could in theory pull in and use jQuery, React, 
 		Angular, or any number of sophisticated Javascript UI frameworks.  Resist the urge to do so.
 </ul>
-</div><!-- END: 7.30.1 - juneau-rest-server.HtmlDocAnnotation.UIvsDI -->
+</div><!-- END: 6.30.1 - juneau-rest-server.HtmlDocAnnotation.UIvsDI -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.Widgets' id='juneau-rest-server.HtmlDocAnnotation.Widgets'>7.30.2 - Widgets</a></h4>
-<div class='topic'><!-- START: 7.30.2 - juneau-rest-server.HtmlDocAnnotation.Widgets -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.Widgets' id='juneau-rest-server.HtmlDocAnnotation.Widgets'>6.30.2 - Widgets</a></h4>
+<div class='topic'><!-- START: 6.30.2 - juneau-rest-server.HtmlDocAnnotation.Widgets -->
 <p>
 	The {@link org.apache.juneau.rest.widget.Widget} class allows you to add arbitrary HTML, CSS, and Javascript
 	to HTML pages.
@@ -20792,12 +20753,12 @@
 <ul class='seealso'>
 	<li class='jf'>{@link org.apache.juneau.rest.RestContext#REST_widgets}
 </ul>
-</div><!-- END: 7.30.2 - juneau-rest-server.HtmlDocAnnotation.Widgets -->
+</div><!-- END: 6.30.2 - juneau-rest-server.HtmlDocAnnotation.Widgets -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets' id='juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>7.30.3 - Predefined Widgets</a></h4>
-<div class='topic'><!-- START: 7.30.3 - juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets' id='juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets'>6.30.3 - Predefined Widgets</a></h4>
+<div class='topic'><!-- START: 6.30.3 - juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
 <p>
 	The {@link org.apache.juneau.rest.widget} package contains predefined reusable widgets.
 </p>
@@ -21035,12 +20996,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.30.3 - juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
+</div><!-- END: 6.30.3 - juneau-rest-server.HtmlDocAnnotation.PredefinedWidgets -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.UiCustomization' id='juneau-rest-server.HtmlDocAnnotation.UiCustomization'>7.30.4 - UI Customization</a></h4>
-<div class='topic'><!-- START: 7.30.4 - juneau-rest-server.HtmlDocAnnotation.UiCustomization -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.UiCustomization' id='juneau-rest-server.HtmlDocAnnotation.UiCustomization'>6.30.4 - UI Customization</a></h4>
+<div class='topic'><!-- START: 6.30.4 - juneau-rest-server.HtmlDocAnnotation.UiCustomization -->
 <p>
 	The HTML views of POJOs can somewhat be considered a rudimentary User Interface.
 	In reality, a better term for them would be a Developer Interface as they're meant to be used 
@@ -21184,12 +21145,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-microservice-jetty.UiCustomization}
 </ul>
-</div><!-- END: 7.30.4 - juneau-rest-server.HtmlDocAnnotation.UiCustomization -->
+</div><!-- END: 6.30.4 - juneau-rest-server.HtmlDocAnnotation.UiCustomization -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.Stylesheets' id='juneau-rest-server.HtmlDocAnnotation.Stylesheets'>7.30.5 - Stylesheets</a></h4>
-<div class='topic'><!-- START: 7.30.5 - juneau-rest-server.HtmlDocAnnotation.Stylesheets -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HtmlDocAnnotation.Stylesheets' id='juneau-rest-server.HtmlDocAnnotation.Stylesheets'>6.30.5 - Stylesheets</a></h4>
+<div class='topic'><!-- START: 6.30.5 - juneau-rest-server.HtmlDocAnnotation.Stylesheets -->
 <p>
 	The sample root page renders in the default "devops" look-and-feel:
 </p>
@@ -21299,13 +21260,13 @@
 		}
 	}
 </p>
-</div><!-- END: 7.30.5 - juneau-rest-server.HtmlDocAnnotation.Stylesheets -->
-</div><!-- END: 7.30 - juneau-rest-server.HtmlDocAnnotation -->
+</div><!-- END: 6.30.5 - juneau-rest-server.HtmlDocAnnotation.Stylesheets -->
+</div><!-- END: 6.30 - juneau-rest-server.HtmlDocAnnotation -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.DefaultHeaders' id='juneau-rest-server.DefaultHeaders'>7.31 - Default Headers</a></h3>
-<div class='topic'><!-- START: 7.31 - juneau-rest-server.DefaultHeaders -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.DefaultHeaders' id='juneau-rest-server.DefaultHeaders'>6.31 - Default Headers</a></h3>
+<div class='topic'><!-- START: 6.31 - juneau-rest-server.DefaultHeaders -->
 <p>
 	The following annotations are provided for specifying default header values for requests and responses:
 </p>
@@ -21347,12 +21308,12 @@
 		</ul>
 	</li>
 </ul>
-</div><!-- END: 7.31 - juneau-rest-server.DefaultHeaders -->
+</div><!-- END: 6.31 - juneau-rest-server.DefaultHeaders -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.LoggingAndDebugging' id='juneau-rest-server.LoggingAndDebugging'>7.32 - Logging / Debugging</a></h3>
-<div class='topic'><!-- START: 7.32 - juneau-rest-server.LoggingAndDebugging -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.LoggingAndDebugging' id='juneau-rest-server.LoggingAndDebugging'>6.32 - Logging / Debugging</a></h3>
+<div class='topic'><!-- START: 6.32 - juneau-rest-server.LoggingAndDebugging -->
 <p>
 	The REST APIs provides support for fine-tuned control of logging for HTTP requests and responses.
 </p>
@@ -21676,12 +21637,12 @@
 	The {@link org.apache.juneau.rest.annotation.Logging#stackTraceHashingTimeout() @Logging(stackTraceHashingTimeout)} setting can be used to periodically log the stacktrace
 	to the log file again.
 </p>
-</div><!-- END: 7.32 - juneau-rest-server.LoggingAndDebugging -->
+</div><!-- END: 6.32 - juneau-rest-server.LoggingAndDebugging -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpStatusCodes' id='juneau-rest-server.HttpStatusCodes'>7.33 - HTTP Status Codes</a></h3>
-<div class='topic'><!-- START: 7.33 - juneau-rest-server.HttpStatusCodes -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpStatusCodes' id='juneau-rest-server.HttpStatusCodes'>6.33 - HTTP Status Codes</a></h3>
+<div class='topic'><!-- START: 6.33 - juneau-rest-server.HttpStatusCodes -->
 <p>
 	By default, a 200 (OK) status is automatically set as the HTTP status when a Java method executes 
 	successfully.
@@ -21744,12 +21705,12 @@
 		<td>The Java method threw an exception other than {@link org.apache.juneau.rest.RestException}</td>
 	</tr>
 </table>
-</div><!-- END: 7.33 - juneau-rest-server.HttpStatusCodes -->
+</div><!-- END: 6.33 - juneau-rest-server.HttpStatusCodes -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OverloadingHttpMethods' id='juneau-rest-server.OverloadingHttpMethods'>7.34 - Overloading HTTP Methods</a></h3>
-<div class='topic'><!-- START: 7.34 - juneau-rest-server.OverloadingHttpMethods -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OverloadingHttpMethods' id='juneau-rest-server.OverloadingHttpMethods'>6.34 - Overloading HTTP Methods</a></h3>
+<div class='topic'><!-- START: 6.34 - juneau-rest-server.OverloadingHttpMethods -->
 <p>
 	Through the use of the built-in <l>"method"</l> GET parameter, you can implement requests beyond the basic 
 	REST http method types.
@@ -21773,12 +21734,12 @@
 		allowedMethodParams=<js>"BAR"</js>
 	)
 </p>
-</div><!-- END: 7.34 - juneau-rest-server.OverloadingHttpMethods -->
+</div><!-- END: 6.34 - juneau-rest-server.OverloadingHttpMethods -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.BuiltInParameters' id='juneau-rest-server.BuiltInParameters'>7.35 - Built-in Parameters</a></h3>
-<div class='topic'><!-- START: 7.35 - juneau-rest-server.BuiltInParameters -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.BuiltInParameters' id='juneau-rest-server.BuiltInParameters'>6.35 - Built-in Parameters</a></h3>
+<div class='topic'><!-- START: 6.35 - juneau-rest-server.BuiltInParameters -->
 <p>
 	The following URL parameters have special meaning and can be passed in through the URL of the request:
 </p>
@@ -21838,12 +21799,12 @@
 		</td>
 	</tr>
 </table>
-</div><!-- END: 7.35 - juneau-rest-server.BuiltInParameters -->
+</div><!-- END: 6.35 - juneau-rest-server.BuiltInParameters -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.CustomSerializersAndParsers' id='juneau-rest-server.CustomSerializersAndParsers'>7.36 - Custom Serializers and Parsers</a></h3>
-<div class='topic'><!-- START: 7.36 - juneau-rest-server.CustomSerializersAndParsers -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.CustomSerializersAndParsers' id='juneau-rest-server.CustomSerializersAndParsers'>6.36 - Custom Serializers and Parsers</a></h3>
+<div class='topic'><!-- START: 6.36 - juneau-rest-server.CustomSerializersAndParsers -->
 <p>
 	A very easy-to-use API is provided for defining your own serializers and parsers at both the servlet and 
 	method levels.
@@ -21964,12 +21925,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.36 - juneau-rest-server.CustomSerializersAndParsers -->
+</div><!-- END: 6.36 - juneau-rest-server.CustomSerializersAndParsers -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.UsingWithOsgi' id='juneau-rest-server.UsingWithOsgi'>7.37 - Using with OSGi</a></h3>
-<div class='topic'><!-- START: 7.37 - juneau-rest-server.UsingWithOsgi -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.UsingWithOsgi' id='juneau-rest-server.UsingWithOsgi'>6.37 - Using with OSGi</a></h3>
+<div class='topic'><!-- START: 6.37 - juneau-rest-server.UsingWithOsgi -->
 <p>
 	Since REST servlets are basically just <l>HttpServlets</l>, incorporating them into an OSGi environment
 	is pretty straightforward.
@@ -22031,12 +21992,12 @@
 		}
 	}
 </p>
-</div><!-- END: 7.37 - juneau-rest-server.UsingWithOsgi -->
+</div><!-- END: 6.37 - juneau-rest-server.UsingWithOsgi -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Injection' id='juneau-rest-server.Injection'>7.38 - Using with Spring and Injection frameworks</a></h3>
-<div class='topic'><!-- START: 7.38 - juneau-rest-server.Injection -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.Injection' id='juneau-rest-server.Injection'>6.38 - Using with Spring and Injection frameworks</a></h3>
+<div class='topic'><!-- START: 6.38 - juneau-rest-server.Injection -->
 <p>
 	The Juneau REST server API is compatible with dependency injection frameworks such as Spring.
 </p>
@@ -22138,24 +22099,24 @@
 			<jk>this</jk>.<jf>bean3</jf> = bean3;
 		}
 </p>
-</div><!-- END: 7.38 - juneau-rest-server.Injection -->
+</div><!-- END: 6.38 - juneau-rest-server.Injection -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HTTP2' id='juneau-rest-server.HTTP2'>7.39 - Using HTTP/2 features</a></h3>
-<div class='topic'><!-- START: 7.39 - juneau-rest-server.HTTP2 -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HTTP2' id='juneau-rest-server.HTTP2'>6.39 - Using HTTP/2 features</a></h3>
+<div class='topic'><!-- START: 6.39 - juneau-rest-server.HTTP2 -->
 <p>
 	Juneau is built as a veneer on top of the Servlet API, allowing you to use low-level Servlet APIs
 	whenever needed.
 	This allows you to take advantage of the newest HTTP/2 features implemented in the new Servlet 4.0 
 	specification.
 </p>
-</div><!-- END: 7.39 - juneau-rest-server.HTTP2 -->
+</div><!-- END: 6.39 - juneau-rest-server.HTTP2 -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OtherNotes' id='juneau-rest-server.OtherNotes'>7.40 - Other Notes</a></h3>
-<div class='topic'><!-- START: 7.40 - juneau-rest-server.OtherNotes -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.OtherNotes' id='juneau-rest-server.OtherNotes'>6.40 - Other Notes</a></h3>
+<div class='topic'><!-- START: 6.40 - juneau-rest-server.OtherNotes -->
 <ul class='spaced-list'>
 	<li>
 		Subclasses can use either {@link javax.servlet.http.HttpServlet#init(ServletConfig)} 
@@ -22166,13 +22127,13 @@
 		For example, to add a <l>"Refresh: 1"</l> header to the response to auto-refresh a page, the following 
 		parameter can be specified:  <l>"/sample?X-Response-Headers={Refresh=1}"</l>
 </ul>
-</div><!-- END: 7.40 - juneau-rest-server.OtherNotes -->
-</div><!-- END: 7 - juneau-rest-server -->
+</div><!-- END: 6.40 - juneau-rest-server.OtherNotes -->
+</div><!-- END: 6 - juneau-rest-server -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-jaxrs' id='juneau-rest-server-jaxrs'>8 - juneau-rest-server-jaxrs</a></h2>
-<div class='topic'><!-- START: 8 - juneau-rest-server-jaxrs -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-jaxrs' id='juneau-rest-server-jaxrs'>7 - juneau-rest-server-jaxrs</a></h2>
+<div class='topic'><!-- START: 7 - juneau-rest-server-jaxrs -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -22200,8 +22161,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-jaxrs.BaseProvider' id='juneau-rest-server-jaxrs.BaseProvider'>8.1 - Juneau JAX-RS Provider</a></h3>
-<div class='topic'><!-- START: 8.1 - juneau-rest-server-jaxrs.BaseProvider -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-jaxrs.BaseProvider' id='juneau-rest-server-jaxrs.BaseProvider'>7.1 - Juneau JAX-RS Provider</a></h3>
+<div class='topic'><!-- START: 7.1 - juneau-rest-server-jaxrs.BaseProvider -->
 <p>
 	The Juneau framework contains the <l>juneau-rest-server-jaxrs</l> bundle for performing simple
 	integration of Juneau serializers and parsers in JAX-RS compliant environments.
@@ -22263,13 +22224,13 @@
 	For the most part, when using these components, you'll either use the existing <l>BasicProvider</l>, 
 	or define your own by subclassing <l>BaseProvider</l>.
 </p>
-</div><!-- END: 8.1 - juneau-rest-server-jaxrs.BaseProvider -->
-</div><!-- END: 8 - juneau-rest-server-jaxrs -->
+</div><!-- END: 7.1 - juneau-rest-server-jaxrs.BaseProvider -->
+</div><!-- END: 7 - juneau-rest-server-jaxrs -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot' id='juneau-rest-server-springboot'>9 - juneau-rest-server-springboot</a></h2>
-<div class='topic'><!-- START: 9 - juneau-rest-server-springboot -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot' id='juneau-rest-server-springboot'>8 - juneau-rest-server-springboot</a></h2>
+<div class='topic'><!-- START: 8 - juneau-rest-server-springboot -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -22296,8 +22257,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.Overview' id='juneau-rest-server-springboot.Overview'>9.1 - Overview</a></h3>
-<div class='topic'><!-- START: 9.1 - juneau-rest-server-springboot.Overview -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.Overview' id='juneau-rest-server-springboot.Overview'>8.1 - Overview</a></h3>
+<div class='topic'><!-- START: 8.1 - juneau-rest-server-springboot.Overview -->
 <p>
 	The Juneau integration component for Spring Boot consists of the following classes:
 </p>
@@ -22357,12 +22318,12 @@
 	 The {@doc juneau-examples-rest-springboot} section describes how the Examples REST application is deployed
 	 using Spring Boot and quickly deployable as an online application using Heroku.
 </p>
-</div><!-- END: 9.1 - juneau-rest-server-springboot.Overview -->
+</div><!-- END: 8.1 - juneau-rest-server-springboot.Overview -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.ChildResources' id='juneau-rest-server-springboot.ChildResources'>9.2 - Child Resources</a></h3>
-<div class='topic'><!-- START: 9.2 - juneau-rest-server-springboot.ChildResources -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.ChildResources' id='juneau-rest-server-springboot.ChildResources'>8.2 - Child Resources</a></h3>
+<div class='topic'><!-- START: 8.2 - juneau-rest-server-springboot.ChildResources -->
 <p>
 	When using the <ja>@JuneauRestRoot</ja> annotation, servlet are given an instance of {@link org.apache.juneau.rest.springboot.SpringRestResourceResolver}.  
 	The resource resolver gets passed down through the children hierarchy, allowing child resources to be defined as injectable Spring beans.
@@ -22429,13 +22390,13 @@
 		<jc>// Injectable bean</jc>
 	}
 </p>
-</div><!-- END: 9.2 - juneau-rest-server-springboot.ChildResources -->
-</div><!-- END: 9 - juneau-rest-server-springboot -->
+</div><!-- END: 8.2 - juneau-rest-server-springboot.ChildResources -->
+</div><!-- END: 8 - juneau-rest-server-springboot -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client' id='juneau-rest-client'>10 - juneau-rest-client</a></h2>
-<div class='topic'><!-- START: 10 - juneau-rest-client -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client' id='juneau-rest-client'>9 - juneau-rest-client</a></h2>
+<div class='topic'><!-- START: 9 - juneau-rest-client -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -22622,8 +22583,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies' id='juneau-rest-client.RestProxies'>10.1 - REST Proxies</a></h3>
-<div class='topic'><!-- START: 10.1 - juneau-rest-client.RestProxies -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies' id='juneau-rest-client.RestProxies'>9.1 - REST Proxies</a></h3>
+<div class='topic'><!-- START: 9.1 - juneau-rest-client.RestProxies -->
 <p>
 	The <c>juneau-rest-client</c> library can also be used to define interface proxies against 3rd-party REST interfaces.
 	This is an extremely powerful feature that allows you to quickly define easy-to-use interfaces against 
@@ -22700,8 +22661,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteResource' id='juneau-rest-client.RestProxies.RemoteResource'>10.1.1 - @RemoteResource</a></h4>
-<div class='topic'><!-- START: 10.1.1 - juneau-rest-client.RestProxies.RemoteResource -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteResource' id='juneau-rest-client.RestProxies.RemoteResource'>9.1.1 - @RemoteResource</a></h4>
+<div class='topic'><!-- START: 9.1.1 - juneau-rest-client.RestProxies.RemoteResource -->
 <p>
 	The {@link org.apache.juneau.http.remote.RemoteResource @RemoteResource} annotation is used on your interface class
 	to identify it as a REST proxy interface.
@@ -22756,12 +22717,12 @@
 	RestClient client = RestClient.<jsm>create</jsm>().json().rootUrl(<js>"http://localhost:10000/petstore"</js>).build();	
 	PetStore p = client.getRemoteResource(PetStore.<jk>class</jk>);
 </p>
-</div><!-- END: 10.1.1 - juneau-rest-client.RestProxies.RemoteResource -->
+</div><!-- END: 9.1.1 - juneau-rest-client.RestProxies.RemoteResource -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteMethod' id='juneau-rest-client.RestProxies.RemoteMethod'>10.1.2 - @RemoteMethod</a></h4>
-<div class='topic'><!-- START: 10.1.2 - juneau-rest-client.RestProxies.RemoteMethod -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.RemoteMethod' id='juneau-rest-client.RestProxies.RemoteMethod'>9.1.2 - @RemoteMethod</a></h4>
+<div class='topic'><!-- START: 9.1.2 - juneau-rest-client.RestProxies.RemoteMethod -->
 <p>
 	The {@link org.apache.juneau.http.remote.RemoteMethod @RemoteMethod} annotation is applied to methods
 	of <ja>@RemoteResource</ja>-annotated interfaces to identify REST endpoints.
@@ -22911,12 +22872,12 @@
 	If your <c>RestClient</c> does not have a parser associated with it, then the value is converted directly from a String using
 	the rules defined in {@doc PojosConveribleToStrings}. 
 </p>
-</div><!-- END: 10.1.2 - juneau-rest-client.RestProxies.RemoteMethod -->
+</div><!-- END: 9.1.2 - juneau-rest-client.RestProxies.RemoteMethod -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Body' id='juneau-rest-client.RestProxies.Body'>10.1.3 - @Body</a></h4>
-<div class='topic'><!-- START: 10.1.3 - juneau-rest-client.RestProxies.Body -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Body' id='juneau-rest-client.RestProxies.Body'>9.1.3 - @Body</a></h4>
+<div class='topic'><!-- START: 9.1.3 - juneau-rest-client.RestProxies.Body -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Body @Body} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
 	to denote that they are the HTTP body of the request.
@@ -23006,12 +22967,12 @@
 	If your <c>RestClient</c> class does not have a serializer associated with it, the body will automatically be serialized to a 
 	string using the rules defined in {@doc PojosConveribleToStrings}.
 </p>
-</div><!-- END: 10.1.3 - juneau-rest-client.RestProxies.Body -->
+</div><!-- END: 9.1.3 - juneau-rest-client.RestProxies.Body -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.FormData' id='juneau-rest-client.RestProxies.FormData'>10.1.4 - @FormData</a></h4>
-<div class='topic'><!-- START: 10.1.4 - juneau-rest-client.RestProxies.FormData -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.FormData' id='juneau-rest-client.RestProxies.FormData'>9.1.4 - @FormData</a></h4>
+<div class='topic'><!-- START: 9.1.4 - juneau-rest-client.RestProxies.FormData -->
 <p>
 	The {@link org.apache.juneau.http.annotation.FormData @FormData} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
 	to denote that they are form-data parameters on the request.
@@ -23113,12 +23074,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-marshall.OpenApiDetails.Serializers}
 </ul>
-</div><!-- END: 10.1.4 - juneau-rest-client.RestProxies.FormData -->
+</div><!-- END: 9.1.4 - juneau-rest-client.RestProxies.FormData -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Query' id='juneau-rest-client.RestProxies.Query'>10.1.5 - @Query</a></h4>
-<div class='topic'><!-- START: 10.1.5 - juneau-rest-client.RestProxies.Query -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Query' id='juneau-rest-client.RestProxies.Query'>9.1.5 - @Query</a></h4>
+<div class='topic'><!-- START: 9.1.5 - juneau-rest-client.RestProxies.Query -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Query @Query} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
 	to denote that they are query parameters on the request.
@@ -23223,12 +23184,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-marshall.OpenApiDetails.Serializers}
 </ul>
-</div><!-- END: 10.1.5 - juneau-rest-client.RestProxies.Query -->
+</div><!-- END: 9.1.5 - juneau-rest-client.RestProxies.Query -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Header' id='juneau-rest-client.RestProxies.Header'>10.1.6 - @Header</a></h4>
-<div class='topic'><!-- START: 10.1.6 - juneau-rest-client.RestProxies.Header -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Header' id='juneau-rest-client.RestProxies.Header'>9.1.6 - @Header</a></h4>
+<div class='topic'><!-- START: 9.1.6 - juneau-rest-client.RestProxies.Header -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Header @Header} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
 	to denote that they are header parameters on the request.
@@ -23319,12 +23280,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-marshall.OpenApiDetails.Serializers}
 </ul>
-</div><!-- END: 10.1.6 - juneau-rest-client.RestProxies.Header -->
+</div><!-- END: 9.1.6 - juneau-rest-client.RestProxies.Header -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Path' id='juneau-rest-client.RestProxies.Path'>10.1.7 - @Path</a></h4>
-<div class='topic'><!-- START: 10.1.7 - juneau-rest-client.RestProxies.Path -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Path' id='juneau-rest-client.RestProxies.Path'>9.1.7 - @Path</a></h4>
+<div class='topic'><!-- START: 9.1.7 - juneau-rest-client.RestProxies.Path -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Path @Path} annotation can be applied to arguments of <ja>@RemoteMethod</ja>-annotated methods
 	to denote that they are path parameters on the request.
@@ -23408,12 +23369,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-marshall.OpenApiDetails.Serializers}
 </ul>
-</div><!-- END: 10.1.7 - juneau-rest-client.RestProxies.Path -->
+</div><!-- END: 9.1.7 - juneau-rest-client.RestProxies.Path -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Request' id='juneau-rest-client.RestProxies.Request'>10.1.8 - @Request</a></h4>
-<div class='topic'><!-- START: 10.1.8 - juneau-rest-client.RestProxies.Request -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Request' id='juneau-rest-client.RestProxies.Request'>9.1.8 - @Request</a></h4>
+<div class='topic'><!-- START: 9.1.8 - juneau-rest-client.RestProxies.Request -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Request @Request} annotation can be applied to a type of a <ja>@RemoteMethod</ja>-annotated method 
 	to identify it as a bean for setting HTTP parts through a bean-like interface.
@@ -23527,12 +23488,12 @@
 	 	}
 	}
 </p>
-</div><!-- END: 10.1.8 - juneau-rest-client.RestProxies.Request -->
+</div><!-- END: 9.1.8 - juneau-rest-client.RestProxies.Request -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Response' id='juneau-rest-client.RestProxies.Response'>10.1.9 - @Response</a></h4>
-<div class='topic'><!-- START: 10.1.9 - juneau-rest-client.RestProxies.Response -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.Response' id='juneau-rest-client.RestProxies.Response'>9.1.9 - @Response</a></h4>
+<div class='topic'><!-- START: 9.1.9 - juneau-rest-client.RestProxies.Response -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Response @Response} annotation can be applied to types returned by <ja>@RemoteMethod</ja>-annotated methods.
 </p>
@@ -23590,12 +23551,12 @@
 <p>
 	The behavior and functionality of all of the annotations are the same as if they were used on method arguments directly. This means full support for OpenAPI serialization and validation.
 </p>
-</div><!-- END: 10.1.9 - juneau-rest-client.RestProxies.Response -->
+</div><!-- END: 9.1.9 - juneau-rest-client.RestProxies.Response -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.DualPurposeInterfaces' id='juneau-rest-client.RestProxies.DualPurposeInterfaces'>10.1.10 - Dual-purpose (end-to-end) interfaces</a></h4>
-<div class='topic'><!-- START: 10.1.10 - juneau-rest-client.RestProxies.DualPurposeInterfaces -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.RestProxies.DualPurposeInterfaces' id='juneau-rest-client.RestProxies.DualPurposeInterfaces'>9.1.10 - Dual-purpose (end-to-end) interfaces</a></h4>
+<div class='topic'><!-- START: 9.1.10 - juneau-rest-client.RestProxies.DualPurposeInterfaces -->
 <p>
 	A common coding practice is to use the same Java interface to define both your server and client side REST interfaces.
 	The advantage to this approach is that changes that you make to your REST interface can be reflected in both places
@@ -23694,13 +23655,13 @@
 	Note how we didn't need to use the <ja>@Header</ja> and <ja>@Path</ja> annotations in our implementation since
 	the annotations were inherited from the interface.
 </p>
-</div><!-- END: 10.1.10 - juneau-rest-client.RestProxies.DualPurposeInterfaces -->
-</div><!-- END: 10.1 - juneau-rest-client.RestProxies -->
+</div><!-- END: 9.1.10 - juneau-rest-client.RestProxies.DualPurposeInterfaces -->
+</div><!-- END: 9.1 - juneau-rest-client.RestProxies -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.SSL' id='juneau-rest-client.SSL'>10.2 - SSL Support</a></h3>
-<div class='topic'><!-- START: 10.2 - juneau-rest-client.SSL -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.SSL' id='juneau-rest-client.SSL'>9.2 - SSL Support</a></h3>
+<div class='topic'><!-- START: 9.2 - juneau-rest-client.SSL -->
 <p>
 	The simplest way to enable SSL support in the client is to use the 
 	{@link org.apache.juneau.rest.client.RestClientBuilder#enableLaxSSL()} method.
@@ -23734,12 +23695,12 @@
 <p>
 	SSL support can also be enabled by passing in your own connection manager using {@link org.apache.juneau.rest.client.RestClientBuilder#httpClientConnectionManager(HttpClientConnectionManager)}.
 </p>
-</div><!-- END: 10.2 - juneau-rest-client.SSL -->
+</div><!-- END: 9.2 - juneau-rest-client.SSL -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication' id='juneau-rest-client.Authentication'>10.3 - Authentication</a></h3>
-<div class='topic'><!-- START: 10.3 - juneau-rest-client.Authentication -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication' id='juneau-rest-client.Authentication'>9.3 - Authentication</a></h3>
+<div class='topic'><!-- START: 9.3 - juneau-rest-client.Authentication -->
 <p>
 	The Juneau REST client itself does not implement any support for authentication.  
 	Instead, it delegates it to the underlying Apache HTTP Client interface.
@@ -23750,8 +23711,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.BASIC' id='juneau-rest-client.Authentication.BASIC'>10.3.1 - BASIC Authentication</a></h4>
-<div class='topic'><!-- START: 10.3.1 - juneau-rest-client.Authentication.BASIC -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.BASIC' id='juneau-rest-client.Authentication.BASIC'>9.3.1 - BASIC Authentication</a></h4>
+<div class='topic'><!-- START: 9.3.1 - juneau-rest-client.Authentication.BASIC -->
 <p>
 	The {@link org.apache.juneau.rest.client.RestClientBuilder#basicAuth(String,int,String,String)} method 
 	can be used to quickly enable BASIC authentication support.
@@ -23775,12 +23736,12 @@
 	p.setCredentials(scope, up);
 	builder.setDefaultCredentialsProvider(p);
 </p>
-</div><!-- END: 10.3.1 - juneau-rest-client.Authentication.BASIC -->
+</div><!-- END: 9.3.1 - juneau-rest-client.Authentication.BASIC -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.FORM' id='juneau-rest-client.Authentication.FORM'>10.3.2 - FORM-based Authentication</a></h4>
-<div class='topic'><!-- START: 10.3.2 - juneau-rest-client.Authentication.FORM -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.FORM' id='juneau-rest-client.Authentication.FORM'>9.3.2 - FORM-based Authentication</a></h4>
+<div class='topic'><!-- START: 9.3.2 - juneau-rest-client.Authentication.FORM -->
 <p>
 	The {@link org.apache.juneau.rest.client.RestClientBuilder} class does not itself provide FORM-based 
 	authentication since there is no standard way of providing such support. 
@@ -23864,12 +23825,12 @@
 		}
 	}
 </p>
-</div><!-- END: 10.3.2 - juneau-rest-client.Authentication.FORM -->
+</div><!-- END: 9.3.2 - juneau-rest-client.Authentication.FORM -->
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.OIDC' id='juneau-rest-client.Authentication.OIDC'>10.3.3 - OIDC Authentication</a></h4>
-<div class='topic'><!-- START: 10.3.3 - juneau-rest-client.Authentication.OIDC -->
+<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Authentication.OIDC' id='juneau-rest-client.Authentication.OIDC'>9.3.3 - OIDC Authentication</a></h4>
+<div class='topic'><!-- START: 9.3.3 - juneau-rest-client.Authentication.OIDC -->
 <p>
 	The following example shows how the <c>JazzRestClient</c> class provides OIDC authentication 
 	support.
@@ -23992,13 +23953,13 @@
 		}
 	}
 </p>
-</div><!-- END: 10.3.3 - juneau-rest-client.Authentication.OIDC -->
-</div><!-- END: 10.3 - juneau-rest-client.Authentication -->
+</div><!-- END: 9.3.3 - juneau-rest-client.Authentication.OIDC -->
+</div><!-- END: 9.3 - juneau-rest-client.Authentication -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.ResponsePatterns' id='juneau-rest-client.ResponsePatterns'>10.4 - Using Response Patterns</a></h3>
-<div class='topic'><!-- START: 10.4 - juneau-rest-client.ResponsePatterns -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.ResponsePatterns' id='juneau-rest-client.ResponsePatterns'>9.4 - Using Response Patterns</a></h3>
+<div class='topic'><!-- START: 9.4 - juneau-rest-client.ResponsePatterns -->
 <p>
 	One issue with REST (and HTTP in general) is that the HTTP response code must be set as a header before the 
 	body of the request is sent.  
@@ -24088,12 +24049,12 @@
 	use {@link org.apache.juneau.rest.client.RestCall#getCapturedResponse()} since this method will not absorb 
 	the response for those other methods.
 </p>
-</div><!-- END: 10.4 - juneau-rest-client.ResponsePatterns -->
+</div><!-- END: 9.4 - juneau-rest-client.ResponsePatterns -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.PipingOutput' id='juneau-rest-client.PipingOutput'>10.5 - Piping Response Output</a></h3>
-<div class='topic'><!-- START: 10.5 - juneau-rest-client.PipingOutput -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.PipingOutput' id='juneau-rest-client.PipingOutput'>9.5 - Piping Response Output</a></h3>
+<div class='topic'><!-- START: 9.5 - juneau-rest-client.PipingOutput -->
 <p>
 	The {@link org.apache.juneau.rest.client.RestCall} class provides various convenience <c>pipeTo()</c> 
 	methods to pipe output to output streams and writers.
@@ -24111,12 +24072,12 @@
 	<jc>// Pipe output from REST call to System.out in real-time.</jc>
 	restClient.doPost(<jsf>URL</jsf>).byLines().pipeTo(<jk>new</jk> PrintWriter(System.<jk>out</jk>)).run();
 </p>
-</div><!-- END: 10.5 - juneau-rest-client.PipingOutput -->
+</div><!-- END: 9.5 - juneau-rest-client.PipingOutput -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Debugging' id='juneau-rest-client.Debugging'>10.6 - Debugging</a></h3>
-<div class='topic'><!-- START: 10.6 - juneau-rest-client.Debugging -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Debugging' id='juneau-rest-client.Debugging'>9.6 - Debugging</a></h3>
+<div class='topic'><!-- START: 9.6 - juneau-rest-client.Debugging -->
 <p>
 	Use the {@link org.apache.juneau.rest.client.RestClientBuilder#debug()} method to enable logging for HTTP requests
 	made from the client.
@@ -24170,12 +24131,12 @@
 	{"foo":"bar","baz":123}
 	=== END ========================================================================
 </p>
-</div><!-- END: 10.6 - juneau-rest-client.Debugging -->
+</div><!-- END: 9.6 - juneau-rest-client.Debugging -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Logging' id='juneau-rest-client.Logging'>10.7 - Logging</a></h3>
-<div class='topic'><!-- START: 10.7 - juneau-rest-client.Logging -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Logging' id='juneau-rest-client.Logging'>9.7 - Logging</a></h3>
+<div class='topic'><!-- START: 9.7 - juneau-rest-client.Logging -->
 <p>
 	Use the {@link org.apache.juneau.rest.client.RestClientBuilder#logTo(Level,Logger)} and 
 	{@link org.apache.juneau.rest.client.RestCall#logTo(Level,Logger)} methods to log HTTP calls.
@@ -24194,12 +24155,12 @@
 	Customized logging can be handled by sub-classing the {@link org.apache.juneau.rest.client.RestCallLogger} 
 	class and using the  {@link org.apache.juneau.rest.client.RestCall#interceptor(RestCallInterceptor)} method.
 </p>
-</div><!-- END: 10.7 - juneau-rest-client.Logging -->
+</div><!-- END: 9.7 - juneau-rest-client.Logging -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Interceptors' id='juneau-rest-client.Interceptors'>10.8 - Interceptors</a></h3>
-<div class='topic'><!-- START: 10.8 - juneau-rest-client.Interceptors -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Interceptors' id='juneau-rest-client.Interceptors'>9.8 - Interceptors</a></h3>
+<div class='topic'><!-- START: 9.8 - juneau-rest-client.Interceptors -->
 <p>
 	The {@link org.apache.juneau.rest.client.RestClientBuilder#interceptors(RestCallInterceptor...)} and 
 	{@link org.apache.juneau.rest.client.RestCall#interceptor(RestCallInterceptor)} methods can be used to 
@@ -24298,12 +24259,12 @@
 		}
 	}
 </p>
-</div><!-- END: 10.8 - juneau-rest-client.Interceptors -->
+</div><!-- END: 9.8 - juneau-rest-client.Interceptors -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Other' id='juneau-rest-client.Other'>10.9 - Other Useful Methods</a></h3>
-<div class='topic'><!-- START: 10.9 - juneau-rest-client.Other -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-client.Other' id='juneau-rest-client.Other'>9.9 - Other Useful Methods</a></h3>
+<div class='topic'><!-- START: 9.9 - juneau-rest-client.Other -->
 <p>
 	The {@link org.apache.juneau.rest.client.RestClientBuilder#rootUrl(Object)} method can be used to specify a 
 	root URL on all requests so that you don't have to use absolute paths on individual calls.
@@ -24340,13 +24301,13 @@
 		.retryable(180, 10000, RetryOn.<jsf>DEFAULT</jsf>)
 		.run();
 </p>
-</div><!-- END: 10.9 - juneau-rest-client.Other -->
-</div><!-- END: 10 - juneau-rest-client -->
+</div><!-- END: 9.9 - juneau-rest-client.Other -->
+</div><!-- END: 9 - juneau-rest-client -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock' id='juneau-rest-mock'>11 - juneau-rest-mock</a></h2>
-<div class='topic'><!-- START: 11 - juneau-rest-mock -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock' id='juneau-rest-mock'>10 - juneau-rest-mock</a></h2>
+<div class='topic'><!-- START: 10 - juneau-rest-mock -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -24386,8 +24347,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock.MockRest' id='juneau-rest-mock.MockRest'>11.1 - MockRest</a></h3>
-<div class='topic'><!-- START: 11.1 - juneau-rest-mock.MockRest -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock.MockRest' id='juneau-rest-mock.MockRest'>10.1 - MockRest</a></h3>
+<div class='topic'><!-- START: 10.1 - juneau-rest-mock.MockRest -->
 <p>
 	The {@link org.apache.juneau.rest.mock2.MockRest} class is used for performing serverless unit testing of {@link org.apache.juneau.rest.annotation.RestResource @RestResource}-annotated
 	classes.  These include both parent resource classes that extend from {@link org.apache.juneau.rest.RestServlet} and child resources that do not.
@@ -24644,12 +24605,12 @@
 		.simpleJson()
 		.build();
 </p>
-</div><!-- END: 11.1 - juneau-rest-mock.MockRest -->
+</div><!-- END: 10.1 - juneau-rest-mock.MockRest -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock.MockRemoteResource' id='juneau-rest-mock.MockRemoteResource'>11.2 - MockRemoteResource</a></h3>
-<div class='topic'><!-- START: 11.2 - juneau-rest-mock.MockRemoteResource -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-mock.MockRemoteResource' id='juneau-rest-mock.MockRemoteResource'>10.2 - MockRemoteResource</a></h3>
+<div class='topic'><!-- START: 10.2 - juneau-rest-mock.MockRemoteResource -->
 <p>
 	The {@link org.apache.juneau.rest.mock2.MockRemoteResource} class is used for serverless unit testing of {@link org.apache.juneau.http.remote.RemoteResource @RemoteResource}-annotated
 	classes.  
@@ -24724,13 +24685,13 @@
 		<jsm>assertEquals</jsm>(123, mri.echoQuery(123));
 	}
 </p>
-</div><!-- END: 11.2 - juneau-rest-mock.MockRemoteResource -->
-</div><!-- END: 11 - juneau-rest-mock -->
+</div><!-- END: 10.2 - juneau-rest-mock.MockRemoteResource -->
+</div><!-- END: 10 - juneau-rest-mock -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>12 - juneau-microservice-core</a></h2>
-<div class='topic'><!-- START: 12 - juneau-microservice-core -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core' id='juneau-microservice-core'>11 - juneau-microservice-core</a></h2>
+<div class='topic'><!-- START: 11 - juneau-microservice-core -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -24770,8 +24731,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Overview' id='juneau-microservice-core.Overview'>12.1 - Microservice Overview</a></h3>
-<div class='topic'><!-- START: 12.1 - juneau-microservice-core.Overview -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Overview' id='juneau-microservice-core.Overview'>11.1 - Microservice Overview</a></h3>
+<div class='topic'><!-- START: 11.1 - juneau-microservice-core.Overview -->
 <p>
 	The Microservice API consists of a base class for defining executable microservices.
 </p>
@@ -24823,12 +24784,12 @@
 		}
 	}
 </p>
-</div><!-- END: 12.1 - juneau-microservice-core.Overview -->
+</div><!-- END: 11.1 - juneau-microservice-core.Overview -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.LifecycleMethods' id='juneau-microservice-core.LifecycleMethods'>12.2 - Lifecycle Methods</a></h3>
-<div class='topic'><!-- START: 12.2 - juneau-microservice-core.LifecycleMethods -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.LifecycleMethods' id='juneau-microservice-core.LifecycleMethods'>11.2 - Lifecycle Methods</a></h3>
+<div class='topic'><!-- START: 11.2 - juneau-microservice-core.LifecycleMethods -->
 <p>
 	The lifecycle methods of the {@link org.apache.juneau.microservice.Microservice} class consists of the following:
 </p>
@@ -24909,12 +24870,12 @@
 	The lifecycle methods on the {@link org.apache.juneau.microservice.Microservice} class are purposely left non-final so that 
 	subclasses can override them to provide customized behavior.  
 </p>
-</div><!-- END: 12.2 - juneau-microservice-core.LifecycleMethods -->
+</div><!-- END: 11.2 - juneau-microservice-core.LifecycleMethods -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Args' id='juneau-microservice-core.Args'>12.3 - Args</a></h3>
-<div class='topic'><!-- START: 12.3 - juneau-microservice-core.Args -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Args' id='juneau-microservice-core.Args'>11.3 - Args</a></h3>
+<div class='topic'><!-- START: 11.3 - juneau-microservice-core.Args -->
 <p>
 	Command-line arguments can be associated with a microservice using the {@link org.apache.juneau.microservice.MicroserviceBuilder#args(String...)} method.
 </p>
@@ -24987,12 +24948,12 @@
 		...
 	)
 </p>
-</div><!-- END: 12.3 - juneau-microservice-core.Args -->
+</div><!-- END: 11.3 - juneau-microservice-core.Args -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Manifest' id='juneau-microservice-core.Manifest'>12.4 - Manifest</a></h3>
-<div class='topic'><!-- START: 12.4 - juneau-microservice-core.Manifest -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Manifest' id='juneau-microservice-core.Manifest'>11.4 - Manifest</a></h3>
+<div class='topic'><!-- START: 11.4 - juneau-microservice-core.Manifest -->
 <p>
 	The {@link org.apache.juneau.microservice.MicroserviceBuilder#manifest(Object)} method can be used to specify the contents or location of of the main 
 	manifest file of the executable jar.
@@ -25050,12 +25011,12 @@
 		...
 	)
 </p>
-</div><!-- END: 12.4 - juneau-microservice-core.Manifest -->
+</div><!-- END: 11.4 - juneau-microservice-core.Manifest -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Config' id='juneau-microservice-core.Config'>12.5 - Config</a></h3>
-<div class='topic'><!-- START: 12.5 - juneau-microservice-core.Config -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Config' id='juneau-microservice-core.Config'>11.5 - Config</a></h3>
+<div class='topic'><!-- START: 11.5 - juneau-microservice-core.Config -->
 <p>
 	The following methods can be used to define the configuration for your microservice using the powerful Config API:
 </p>
@@ -25180,12 +25141,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-config}
 </ul>
-</div><!-- END: 12.5 - juneau-microservice-core.Config -->
+</div><!-- END: 11.5 - juneau-microservice-core.Config -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.SystemProperties' id='juneau-microservice-core.SystemProperties'>12.6 - System properties</a></h3>
-<div class='topic'><!-- START: 12.6 - juneau-microservice-core.SystemProperties -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.SystemProperties' id='juneau-microservice-core.SystemProperties'>11.6 - System properties</a></h3>
+<div class='topic'><!-- START: 11.6 - juneau-microservice-core.SystemProperties -->
 <p>
 	As a convenience, the <c>SystemProperties</c> section of your configuration file can be used to define system
 	properties to set during initialization of your microservice:
@@ -25210,14 +25171,14 @@
 	
 	<ck>derby.stream.error.file</ck> = <cv>$C{Logging/logDir}/derby-errors.log</cv>
 </p>
-</div><!-- END: 12.6 - juneau-microservice-core.SystemProperties -->
+</div><!-- END: 11.6 - juneau-microservice-core.SystemProperties -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.VarResolver' id='juneau-microservice-core.VarResolver'>12.7 - VarResolver</a></h3>
-<div class='topic'><!-- START: 12.7 - juneau-microservice-core.VarResolver -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.VarResolver' id='juneau-microservice-core.VarResolver'>11.7 - VarResolver</a></h3>
+<div class='topic'><!-- START: 11.7 - juneau-microservice-core.VarResolver -->
 <p>
-	The Microservice API incorporates the {@doc juneau-svl Simple Variable Resolver} API.
+	The Microservice API incorporates the {@doc juneau-marshall.SimpleVariableLanguage Simple Variable Language} API.
 </p>
 <p>
 	The variable resolver can be augmented through the following methods:
@@ -25258,12 +25219,12 @@
 	<li><c>$LC{arg}</c> - {@link org.apache.juneau.svl.vars.LowerCaseVar}
 	<li><c>$NE{arg}</c> - {@link org.apache.juneau.svl.vars.NotEmptyVar}
 </ul>
-</div><!-- END: 12.7 - juneau-microservice-core.VarResolver -->
+</div><!-- END: 11.7 - juneau-microservice-core.VarResolver -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.ConsoleCommands' id='juneau-microservice-core.ConsoleCommands'>12.8 - Console Commands</a></h3>
-<div class='topic'><!-- START: 12.8 - juneau-microservice-core.ConsoleCommands -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.ConsoleCommands' id='juneau-microservice-core.ConsoleCommands'>11.8 - Console Commands</a></h3>
+<div class='topic'><!-- START: 11.8 - juneau-microservice-core.ConsoleCommands -->
 <p>
 	The Microservice API provides support for simple console commands.
 </p>
@@ -25347,12 +25308,12 @@
 	By default, the console input and output are taken from {@link java.lang.System.in} and {@link java.lang.System.out}.
 	These can be overridden using the {@link org.apache.juneau.microservice.MicroserviceBuilder#console(Scanner,PrintWriter) console(Scanner,PrintWriter)} method.
 </p>
-</div><!-- END: 12.8 - juneau-microservice-core.ConsoleCommands -->
+</div><!-- END: 11.8 - juneau-microservice-core.ConsoleCommands -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Logging' id='juneau-microservice-core.Logging'>12.9 - Logging</a></h3>
-<div class='topic'><!-- START: 12.9 - juneau-microservice-core.Logging -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Logging' id='juneau-microservice-core.Logging'>11.9 - Logging</a></h3>
+<div class='topic'><!-- START: 11.9 - juneau-microservice-core.Logging -->
 <p>
 	The Microservice API provides build-in but configurable and overridable support for logging.
 </p>
@@ -25493,12 +25454,12 @@
 		<li class='jm'>{@link org.apache.juneau.microservice.Microservice#err(MessageBundle,String,Object...) err(MessageBundle,String,Object...)} 
 	</ul>
 </ul>
-</div><!-- END: 12.9 - juneau-microservice-core.Logging -->
+</div><!-- END: 11.9 - juneau-microservice-core.Logging -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Listeners' id='juneau-microservice-core.Listeners'>12.10 - Listeners</a></h3>
-<div class='topic'><!-- START: 12.10 - juneau-microservice-core.Listeners -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-core.Listeners' id='juneau-microservice-core.Listeners'>11.10 - Listeners</a></h3>
+<div class='topic'><!-- START: 11.10 - juneau-microservice-core.Listeners -->
 <p>
 	As mentioned previously, the lifecycle methods for the {@link org.apache.juneau.microservice.Microservice} class are explicitly
 	defined as non-final so that they can be overridden by subclasses.
@@ -25550,13 +25511,13 @@
 		}
 	}
 </p>
-</div><!-- END: 12.10 - juneau-microservice-core.Listeners -->
-</div><!-- END: 12 - juneau-microservice-core -->
+</div><!-- END: 11.10 - juneau-microservice-core.Listeners -->
+</div><!-- END: 11 - juneau-microservice-core -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty' id='juneau-microservice-jetty'>13 - juneau-microservice-jetty</a></h2>
-<div class='topic'><!-- START: 13 - juneau-microservice-jetty -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty' id='juneau-microservice-jetty'>12 - juneau-microservice-jetty</a></h2>
+<div class='topic'><!-- START: 12 - juneau-microservice-jetty -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -25583,8 +25544,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Overview' id='juneau-microservice-jetty.Overview'>13.1 - Overview</a></h3>
-<div class='topic'><!-- START: 13.1 - juneau-microservice-jetty.Overview -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Overview' id='juneau-microservice-jetty.Overview'>12.1 - Overview</a></h3>
+<div class='topic'><!-- START: 12.1 - juneau-microservice-jetty.Overview -->
 <p>
 	The Jetty Microservice API consists of a combination of the Juneau Core, Server, and Client APIs and an embedded
 	Eclipse Jetty Servlet Container.  
@@ -25629,12 +25590,12 @@
 		}
 	}
 </p>
-</div><!-- END: 13.1 - juneau-microservice-jetty.Overview -->
+</div><!-- END: 12.1 - juneau-microservice-jetty.Overview -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.LifecycleMethods' id='juneau-microservice-jetty.LifecycleMethods'>13.2 - Lifecycle Methods</a></h3>
-<div class='topic'><!-- START: 13.2 - juneau-microservice-jetty.LifecycleMethods -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.LifecycleMethods' id='juneau-microservice-jetty.LifecycleMethods'>12.2 - Lifecycle Methods</a></h3>
+<div class='topic'><!-- START: 12.2 - juneau-microservice-jetty.LifecycleMethods -->
 <p>
 	To review, the {@link org.apache.juneau.microservice.Microservice} class contains the following lifecycle methods:
 </p>
@@ -25724,12 +25685,12 @@
 		}
 	}
 </p>
-</div><!-- END: 13.2 - juneau-microservice-jetty.LifecycleMethods -->
+</div><!-- END: 12.2 - juneau-microservice-jetty.LifecycleMethods -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.ResourceClasses' id='juneau-microservice-jetty.ResourceClasses'>13.3 - Resource Classes</a></h3>
-<div class='topic'><!-- START: 13.3 - juneau-microservice-jetty.ResourceClasses -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.ResourceClasses' id='juneau-microservice-jetty.ResourceClasses'>12.3 - Resource Classes</a></h3>
+<div class='topic'><!-- START: 12.3 - juneau-microservice-jetty.ResourceClasses -->
 <p>
 	This section describes how to define a top-level REST resource page and deploy it in our microservice.
 	The example is a router page that serves as a jumping off page to child resources.
@@ -25866,12 +25827,12 @@
 		...
 		</p>
 </ul>
-</div><!-- END: 13.3 - juneau-microservice-jetty.ResourceClasses -->
+</div><!-- END: 12.3 - juneau-microservice-jetty.ResourceClasses -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.PredefinedResourceClasses' id='juneau-microservice-jetty.PredefinedResourceClasses'>13.4 - Predefined Resource Classes</a></h3>
-<div class='topic'><!-- START: 13.4 - juneau-microservice-jetty.PredefinedResourceClasses -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.PredefinedResourceClasses' id='juneau-microservice-jetty.PredefinedResourceClasses'>12.4 - Predefined Resource Classes</a></h3>
+<div class='topic'><!-- START: 12.4 - juneau-microservice-jetty.PredefinedResourceClasses -->
 <p>
 	The following predefined resource classes are also provided for easy inclusion into your microservice:
 </p>
@@ -25887,12 +25848,12 @@
 	<li class='jc'>{@link org.apache.juneau.microservice.resources.ShutdownResource}
 		- Shutdown and/or restart the JVM.
 </ul>
-</div><!-- END: 13.4 - juneau-microservice-jetty.PredefinedResourceClasses -->
+</div><!-- END: 12.4 - juneau-microservice-jetty.PredefinedResourceClasses -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Config' id='juneau-microservice-jetty.Config'>13.5 - Config</a></h3>
-<div class='topic'><!-- START: 13.5 - juneau-microservice-jetty.Config -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Config' id='juneau-microservice-jetty.Config'>12.5 - Config</a></h3>
+<div class='topic'><!-- START: 12.5 - juneau-microservice-jetty.Config -->
 <p>
 	In {@doc juneau-microservice-core.Config}, we described how to associate a configuration file with your
 	microservice.
@@ -26095,12 +26056,12 @@
 <ul class='seealso'>
 	<li class='link'>{@doc juneau-config}
 </ul>
-</div><!-- END: 13.5 - juneau-microservice-jetty.Config -->
+</div><!-- END: 12.5 - juneau-microservice-jetty.Config -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.JettyXml' id='juneau-microservice-jetty.JettyXml'>13.6 - Jetty.xml file</a></h3>
-<div class='topic'><!-- START: 13.6 - juneau-microservice-jetty.JettyXml -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.JettyXml' id='juneau-microservice-jetty.JettyXml'>12.6 - Jetty.xml file</a></h3>
+<div class='topic'><!-- START: 12.6 - juneau-microservice-jetty.JettyXml -->
 <p>
 	The Jetty microservice comes with a bare-bones <c>jetty.xml</c> file which can be modified to suite any needs. 
 </p>	
@@ -26183,12 +26144,12 @@
 	The {@link org.apache.juneau.microservice.jetty.JettyMicroserviceBuilder#jettyServerFactory(JettyServerFactory)} method is also provided
 	to use your own customized Jetty server.
 </p>
-</div><!-- END: 13.6 - juneau-microservice-jetty.JettyXml -->
+</div><!-- END: 12.6 - juneau-microservice-jetty.JettyXml -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.UiCustomization' id='juneau-microservice-jetty.UiCustomization'>13.7 - UI Customization</a></h3>
-<div class='topic'><!-- START: 13.7 - juneau-microservice-jetty.UiCustomization -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.UiCustomization' id='juneau-microservice-jetty.UiCustomization'>12.7 - UI Customization</a></h3>
+<div class='topic'><!-- START: 12.7 - juneau-microservice-jetty.UiCustomization -->
 <p>
 	The Microservice project contains a <c>files/htdocs</c> folder with predefined stylesheets and
 	images.
@@ -26298,12 +26259,12 @@
 	<ck>RestContext.useClasspathResourceCaching.b</ck> = <cv>false</cv>
 
 </p>
-</div><!-- END: 13.7 - juneau-microservice-jetty.UiCustomization -->
+</div><!-- END: 12.7 - juneau-microservice-jetty.UiCustomization -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Extending' id='juneau-microservice-jetty.Extending'>13.8 - Extending JettyMicroservice</a></h3>
-<div class='topic'><!-- START: 13.8 - juneau-microservice-jetty.Extending -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-microservice-jetty.Extending' id='juneau-microservice-jetty.Extending'>12.8 - Extending JettyMicroservice</a></h3>
+<div class='topic'><!-- START: 12.8 - juneau-microservice-jetty.Extending -->
 <p>
 	This example shows how the {@link org.apache.juneau.microservice.jetty.JettyMicroservice} class
 	can be extended to implement lifecycle listener methods or override existing methods.
@@ -26377,13 +26338,13 @@
 		...
 	}
 </p>
-</div><!-- END: 13.8 - juneau-microservice-jetty.Extending -->
-</div><!-- END: 13 - juneau-microservice-jetty -->
+</div><!-- END: 12.8 - juneau-microservice-jetty.Extending -->
+</div><!-- END: 12 - juneau-microservice-jetty -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice' id='my-jetty-microservice'>14 - my-jetty-microservice</a></h2>
-<div class='topic'><!-- START: 14 - my-jetty-microservice -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice' id='my-jetty-microservice'>13 - my-jetty-microservice</a></h2>
+<div class='topic'><!-- START: 13 - my-jetty-microservice -->
 <h5 class='figure'>Starter Project Zip</h5>
 <p class='bpcode w500'>
 	my-jetty-microservice-{@property juneauVersion}.zip 
@@ -26399,8 +26360,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Installing' id='my-jetty-microservice.Installing'>14.1 - Installing in Eclipse</a></h3>
-<div class='topic'><!-- START: 14.1 - my-jetty-microservice.Installing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Installing' id='my-jetty-microservice.Installing'>13.1 - Installing in Eclipse</a></h3>
+<div class='topic'><!-- START: 13.1 - my-jetty-microservice.Installing -->
 <p>
 	Follow these instructions to create a new template project in Eclipse.
 </p>		
@@ -26652,12 +26613,12 @@
 <p>
 	At this point, you're ready to start the microservice from your workspace.
 </p>
-</div><!-- END: 14.1 - my-jetty-microservice.Installing -->
+</div><!-- END: 13.1 - my-jetty-microservice.Installing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Running' id='my-jetty-microservice.Running'>14.2 - Running in Eclipse</a></h3>
-<div class='topic'><!-- START: 14.2 - my-jetty-microservice.Running -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Running' id='my-jetty-microservice.Running'>13.2 - Running in Eclipse</a></h3>
+<div class='topic'><!-- START: 13.2 - my-jetty-microservice.Running -->
 <p>
 	The <l>my-jetty-microservice.launch</l> file is already provided to allow you to quickly start
 	your new microservice.
@@ -26688,12 +26649,12 @@
 <p>
 	You can enter the command <c>exit</c> to shut it down.
 </p>
-</div><!-- END: 14.2 - my-jetty-microservice.Running -->
+</div><!-- END: 13.2 - my-jetty-microservice.Running -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Building' id='my-jetty-microservice.Building'>14.3 - Building and Running from Command-Line</a></h3>
-<div class='topic'><!-- START: 14.3 - my-jetty-microservice.Building -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-jetty-microservice.Building' id='my-jetty-microservice.Building'>13.3 - Building and Running from Command-Line</a></h3>
+<div class='topic'><!-- START: 13.3 - my-jetty-microservice.Building -->
 <p>
 	The <l>pom.xml</l> file is a basic Maven build script for creating your microservice
 	as an executable uber-jar.
@@ -26735,13 +26696,13 @@
 	If you get this error message: <code class='snippet'>java.net.BindException: Address already in use</code>, 
 	then this microservice is already running elsewhere and so it cannot bind to port 10000.
 </p>
-</div><!-- END: 14.3 - my-jetty-microservice.Building -->
-</div><!-- END: 14 - my-jetty-microservice -->
+</div><!-- END: 13.3 - my-jetty-microservice.Building -->
+</div><!-- END: 13 - my-jetty-microservice -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice' id='my-springboot-microservice'>15 - my-springboot-microservice</a></h2>
-<div class='topic'><!-- START: 15 - my-springboot-microservice -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice' id='my-springboot-microservice'>14 - my-springboot-microservice</a></h2>
+<div class='topic'><!-- START: 14 - my-springboot-microservice -->
 <h5 class='figure'>Starter Project Zip</h5>
 <p class='bpcode w500'>
 	my-springboot-microservice-{@property juneauVersion}.zip 
@@ -26761,8 +26722,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Installing' id='my-springboot-microservice.Installing'>15.1 - Installing in Eclipse</a></h3>
-<div class='topic'><!-- START: 15.1 - my-springboot-microservice.Installing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Installing' id='my-springboot-microservice.Installing'>14.1 - Installing in Eclipse</a></h3>
+<div class='topic'><!-- START: 14.1 - my-springboot-microservice.Installing -->
 <p>
 	Follow these instructions to create a new template project in Eclipse.
 </p>		
@@ -26890,12 +26851,12 @@
 <p>
 	At this point, you're ready to start the microservice from your workspace.
 </p>
-</div><!-- END: 15.1 - my-springboot-microservice.Installing -->
+</div><!-- END: 14.1 - my-springboot-microservice.Installing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Running' id='my-springboot-microservice.Running'>15.2 - Running in Eclipse</a></h3>
-<div class='topic'><!-- START: 15.2 - my-springboot-microservice.Running -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Running' id='my-springboot-microservice.Running'>14.2 - Running in Eclipse</a></h3>
+<div class='topic'><!-- START: 14.2 - my-springboot-microservice.Running -->
 <p>
 	The <l>my-springboot-microservice.launch</l> file is already provided to allow you to quickly start
 	your new microservice.
@@ -26925,12 +26886,12 @@
 	http://localhost:5000
 </p>			
 <img class='bordered w400' src='doc-files/my-springboot-microservice.Running.1.png'>
-</div><!-- END: 15.2 - my-springboot-microservice.Running -->
+</div><!-- END: 14.2 - my-springboot-microservice.Running -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Building' id='my-springboot-microservice.Building'>15.3 - Building and Running from Command-Line</a></h3>
-<div class='topic'><!-- START: 15.3 - my-springboot-microservice.Building -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#my-springboot-microservice.Building' id='my-springboot-microservice.Building'>14.3 - Building and Running from Command-Line</a></h3>
+<div class='topic'><!-- START: 14.3 - my-springboot-microservice.Building -->
 <p>
 	The <l>pom.xml</l> file is a basic Maven build script for creating your microservice
 	as an executable uber-jar.
@@ -26969,13 +26930,13 @@
 	Dec 21, 2012 12:30:00 AM org.springframework.boot.StartupInfoLogger logStarted
 	INFO: Started App in 1.999 seconds (JVM running for 2.999)
 </p>
-</div><!-- END: 15.3 - my-springboot-microservice.Building -->
-</div><!-- END: 15 - my-springboot-microservice -->
+</div><!-- END: 14.3 - my-springboot-microservice.Building -->
+</div><!-- END: 14 - my-springboot-microservice -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core' id='juneau-examples-core'>16 - juneau-examples-core</a></h2>
-<div class='topic'><!-- START: 16 - juneau-examples-core -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core' id='juneau-examples-core'>15 - juneau-examples-core</a></h2>
+<div class='topic'><!-- START: 15 - juneau-examples-core -->
 <h5 class='figure'>Archive File</h5>
 <p class='bpcode w500'>
 	juneau-examples-core-{@property juneauVersion}.zip 
@@ -26987,8 +26948,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core.Installing' id='juneau-examples-core.Installing'>16.1 - Installing in Eclipse</a></h3>
-<div class='topic'><!-- START: 16.1 - juneau-examples-core.Installing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core.Installing' id='juneau-examples-core.Installing'>15.1 - Installing in Eclipse</a></h3>
+<div class='topic'><!-- START: 15.1 - juneau-examples-core.Installing -->
 <p>
 	Follow these instructions to import the Juneau project into Eclipse.
 </p>		
@@ -27007,12 +26968,12 @@
 		<br><br>
 		<img class='bordered' src='doc-files/juneau-examples-core.Installing.3.png' style='width:400px'>
 </ol>
-</div><!-- END: 16.1 - juneau-examples-core.Installing -->
+</div><!-- END: 15.1 - juneau-examples-core.Installing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core.Examples' id='juneau-examples-core.Examples'>16.2 - Examples</a></h3>
-<div class='topic'><!-- START: 16.2 - juneau-examples-core.Examples -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-core.Examples' id='juneau-examples-core.Examples'>15.2 - Examples</a></h3>
+<div class='topic'><!-- START: 15.2 - juneau-examples-core.Examples -->
 <p>
 	The following shows the core examples provided:
 </p>
@@ -27053,13 +27014,13 @@
 			<li class='jc'>{@link org.apache.juneau.examples.core.svl.SvlExample} - Usage of Svl module in juneau.
 		</ul>
 </ul>
-</div><!-- END: 16.2 - juneau-examples-core.Examples -->
-</div><!-- END: 16 - juneau-examples-core -->
+</div><!-- END: 15.2 - juneau-examples-core.Examples -->
+</div><!-- END: 15 - juneau-examples-core -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest' id='juneau-examples-rest'>17 - juneau-examples-rest</a></h2>
-<div class='topic'><!-- START: 17 - juneau-examples-rest -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest' id='juneau-examples-rest'>16 - juneau-examples-rest</a></h2>
+<div class='topic'><!-- START: 16 - juneau-examples-rest -->
 <h5 class='figure'>Maven Dependency</h5>
 <p class='bpcode w500'>
 	<xt>&lt;dependency&gt;</xt>
@@ -27094,8 +27055,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.RootResources' id='juneau-examples-rest.RootResources'>17.1 - RootResources</a></h3>
-<div class='topic'><!-- START: 17.1 - juneau-examples-rest.RootResources -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.RootResources' id='juneau-examples-rest.RootResources'>16.1 - RootResources</a></h3>
+<div class='topic'><!-- START: 16.1 - juneau-examples-rest.RootResources -->
 <p>
 	The <l>RootResources</l> class is the main page for the REST microservice.
 	It serves as the jumping-off point for the other resources.
@@ -27234,12 +27195,12 @@
 	The request passed to the child resource is the same as if the child resource had been deployed 
 	independently (e.g. path-info, resource-URI, and so forth).
 </p>
-</div><!-- END: 17.1 - juneau-examples-rest.RootResources -->
+</div><!-- END: 16.1 - juneau-examples-rest.RootResources -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.HelloWorldResource' id='juneau-examples-rest.HelloWorldResource'>17.2 - HelloWorldResource</a></h3>
-<div class='topic'><!-- START: 17.2 - juneau-examples-rest.HelloWorldResource -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.HelloWorldResource' id='juneau-examples-rest.HelloWorldResource'>16.2 - HelloWorldResource</a></h3>
+<div class='topic'><!-- START: 16.2 - juneau-examples-rest.HelloWorldResource -->
 <p>
 	The <l>HelloWorldResource</l> class is a simple resource that prints a "Hello world!" message.
 </p>
@@ -27303,12 +27264,12 @@
 	http://localhost:10000/helloWorld?Accept=text/json&amp;plainText=true
 </p>			
 <img class='bordered w800' src='doc-files/juneau-examples-rest.HelloWorldResource.2.png'>
-</div><!-- END: 17.2 - juneau-examples-rest.HelloWorldResource -->
+</div><!-- END: 16.2 - juneau-examples-rest.HelloWorldResource -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.DtoExamples' id='juneau-examples-rest.DtoExamples'>17.3 - DtoExamples</a></h3>
-<div class='topic'><!-- START: 17.3 - juneau-examples-rest.DtoExamples -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.DtoExamples' id='juneau-examples-rest.DtoExamples'>16.3 - DtoExamples</a></h3>
+<div class='topic'><!-- START: 16.3 - juneau-examples-rest.DtoExamples -->
 <p>
 	The <l>DtoExamples</l> resource is a resource group for demonstrating various DTO examples.
 </p>
@@ -27524,12 +27485,12 @@
 		} 
 	} 		
 </p>
-</div><!-- END: 17.3 - juneau-examples-rest.DtoExamples -->
+</div><!-- END: 16.3 - juneau-examples-rest.DtoExamples -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.ConfigResource' id='juneau-examples-rest.ConfigResource'>17.4 - ConfigResource</a></h3>
-<div class='topic'><!-- START: 17.4 - juneau-examples-rest.ConfigResource -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.ConfigResource' id='juneau-examples-rest.ConfigResource'>16.4 - ConfigResource</a></h3>
+<div class='topic'><!-- START: 16.4 - juneau-examples-rest.ConfigResource -->
 <p>
 	The {@link org.apache.juneau.microservice.resources.ConfigResource} class is a predefined reusable resource.
 	It provides a REST interface for reading and altering the microservice config file.
@@ -27679,12 +27640,12 @@
 		} 
 	} 		
 </p>
-</div><!-- END: 17.4 - juneau-examples-rest.ConfigResource -->
+</div><!-- END: 16.4 - juneau-examples-rest.ConfigResource -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.LogsResource' id='juneau-examples-rest.LogsResource'>17.5 - LogsResource</a></h3>
-<div class='topic'><!-- START: 17.5 - juneau-examples-rest.LogsResource -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest.LogsResource' id='juneau-examples-rest.LogsResource'>16.5 - LogsResource</a></h3>
+<div class='topic'><!-- START: 16.5 - juneau-examples-rest.LogsResource -->
 <p>
 	The {@link org.apache.juneau.microservice.resources.LogsResource} class is a reusable predefined resource.
 	It provides a REST interface for the log files generated by the microservice.
@@ -27696,13 +27657,13 @@
 	http://localhost:10000/logs
 </p>			
 <img class='bordered w800' src='doc-files/juneau-examples-rest.LogsResource.1.png'>
-</div><!-- END: 17.5 - juneau-examples-rest.LogsResource -->
-</div><!-- END: 17 - juneau-examples-rest -->
+</div><!-- END: 16.5 - juneau-examples-rest.LogsResource -->
+</div><!-- END: 16 - juneau-examples-rest -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty' id='juneau-examples-rest-jetty'>18 - juneau-examples-rest-jetty</a></h2>
-<div class='topic'><!-- START: 18 - juneau-examples-rest-jetty -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty' id='juneau-examples-rest-jetty'>17 - juneau-examples-rest-jetty</a></h2>
+<div class='topic'><!-- START: 17 - juneau-examples-rest-jetty -->
 <h5 class='figure'>Starter Project Zip</h5>
 <p class='bpcode w500'>
 	juneau-examples-rest-jetty-{@property juneauVersion}.zip 
@@ -27715,8 +27676,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Installing' id='juneau-examples-rest-jetty.Installing'>18.1 - Installing in Eclipse</a></h3>
-<div class='topic'><!-- START: 18.1 - juneau-examples-rest-jetty.Installing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Installing' id='juneau-examples-rest-jetty.Installing'>17.1 - Installing in Eclipse</a></h3>
+<div class='topic'><!-- START: 17.1 - juneau-examples-rest-jetty.Installing -->
 <p>
 	Follow these instructions to import the REST examples project using Jetty into Eclipse.
 </p>		
@@ -27989,12 +27950,12 @@
 <p>
 	At this point, you're ready to start the microservice from your workspace.
 </p>
-</div><!-- END: 18.1 - juneau-examples-rest-jetty.Installing -->
+</div><!-- END: 17.1 - juneau-examples-rest-jetty.Installing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Running' id='juneau-examples-rest-jetty.Running'>18.2 - Running in Eclipse</a></h3>
-<div class='topic'><!-- START: 18.2 - juneau-examples-rest-jetty.Running -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Running' id='juneau-examples-rest-jetty.Running'>17.2 - Running in Eclipse</a></h3>
+<div class='topic'><!-- START: 17.2 - juneau-examples-rest-jetty.Running -->
 <p>
 	The <l>juneau-examples-rest-jetty.launch</l> file is already provided to allow you to quickly start
 	your new microservice.
@@ -28025,12 +27986,12 @@
 <p>
 	You can enter the command <c>exit</c> to shut it down.
 </p>
-</div><!-- END: 18.2 - juneau-examples-rest-jetty.Running -->
+</div><!-- END: 17.2 - juneau-examples-rest-jetty.Running -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Building' id='juneau-examples-rest-jetty.Building'>18.3 - Building and Running from Command-Line</a></h3>
-<div class='topic'><!-- START: 18.3 - juneau-examples-rest-jetty.Building -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-jetty.Building' id='juneau-examples-rest-jetty.Building'>17.3 - Building and Running from Command-Line</a></h3>
+<div class='topic'><!-- START: 17.3 - juneau-examples-rest-jetty.Building -->
 <p>
 	The <l>pom.xml</l> file is a basic Maven build script for creating the examples microservice
 	as an executable uber-jar.
@@ -28072,13 +28033,13 @@
 	If you get this error message: <code class='snippet'>java.net.BindException: Address already in use</code>, 
 	then this microservice is already running elsewhere and so it cannot bind to port 10000.
 </p>
-</div><!-- END: 18.3 - juneau-examples-rest-jetty.Building -->
-</div><!-- END: 18 - juneau-examples-rest-jetty -->
+</div><!-- END: 17.3 - juneau-examples-rest-jetty.Building -->
+</div><!-- END: 17 - juneau-examples-rest-jetty -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot' id='juneau-examples-rest-springboot'>19 - juneau-examples-rest-springboot</a></h2>
-<div class='topic'><!-- START: 19 - juneau-examples-rest-springboot -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot' id='juneau-examples-rest-springboot'>18 - juneau-examples-rest-springboot</a></h2>
+<div class='topic'><!-- START: 18 - juneau-examples-rest-springboot -->
 <h5 class='figure'>Starter Project Zip</h5>
 <p class='bpcode w500'>
 	juneau-examples-rest-springboot-{@property juneauVersion}.zip 
@@ -28101,8 +28062,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Installing' id='juneau-examples-rest-springboot.Installing'>19.1 - Installing in Eclipse</a></h3>
-<div class='topic'><!-- START: 19.1 - juneau-examples-rest-springboot.Installing -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Installing' id='juneau-examples-rest-springboot.Installing'>18.1 - Installing in Eclipse</a></h3>
+<div class='topic'><!-- START: 18.1 - juneau-examples-rest-springboot.Installing -->
 <p>
 	Follow these instructions to import the REST examples project using Spring Boot into Eclipse.
 </p>		
@@ -28241,12 +28202,12 @@
 <p>
 	At this point, you're ready to start the microservice from your workspace.
 </p>
-</div><!-- END: 19.1 - juneau-examples-rest-springboot.Installing -->
+</div><!-- END: 18.1 - juneau-examples-rest-springboot.Installing -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Running' id='juneau-examples-rest-springboot.Running'>19.2 - Running in Eclipse</a></h3>
-<div class='topic'><!-- START: 19.2 - juneau-examples-rest-springboot.Running -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Running' id='juneau-examples-rest-springboot.Running'>18.2 - Running in Eclipse</a></h3>
+<div class='topic'><!-- START: 18.2 - juneau-examples-rest-springboot.Running -->
 <p>
 	The <l>juneau-examples-rest-springboot.launch</l> file is already provided to allow you to quickly start
 	your new microservice.
@@ -28276,12 +28237,12 @@
 	http://localhost:5000
 </p>			
 <img class='bordered w400' src='doc-files/juneau-examples-rest-springboot.Running.1.png'>
-</div><!-- END: 19.2 - juneau-examples-rest-springboot.Running -->
+</div><!-- END: 18.2 - juneau-examples-rest-springboot.Running -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Building' id='juneau-examples-rest-springboot.Building'>19.3 - Building and Running from Command-Line</a></h3>
-<div class='topic'><!-- START: 19.3 - juneau-examples-rest-springboot.Building -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.Building' id='juneau-examples-rest-springboot.Building'>18.3 - Building and Running from Command-Line</a></h3>
+<div class='topic'><!-- START: 18.3 - juneau-examples-rest-springboot.Building -->
 <p>
 	The <l>pom.xml</l> file is a basic Maven build script for creating your microservice
 	as an executable uber-jar.
@@ -28320,12 +28281,12 @@
 	Dec 21, 2012 12:30:00 AM org.springframework.boot.StartupInfoLogger logStarted
 	INFO: Started App in 1.999 seconds (JVM running for 2.999)
 </p>
-</div><!-- END: 19.3 - juneau-examples-rest-springboot.Building -->
+</div><!-- END: 18.3 - juneau-examples-rest-springboot.Building -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.DeployingToHeroku' id='juneau-examples-rest-springboot.DeployingToHeroku'>19.4 - Deploying to Heroku</a></h3>
-<div class='topic'><!-- START: 19.4 - juneau-examples-rest-springboot.DeployingToHeroku -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#juneau-examples-rest-springboot.DeployingToHeroku' id='juneau-examples-rest-springboot.DeployingToHeroku'>18.4 - Deploying to Heroku</a></h3>
+<div class='topic'><!-- START: 18.4 - juneau-examples-rest-springboot.DeployingToHeroku -->
 <p>
 	<a href='https://www.heroku.com'>Heroku</a> is a platform-as-a-service that allows applications to be quickly hosted
 	in the cloud.  
@@ -28460,13 +28421,13 @@
 	https://juneau-examples-rest.herokuapp.com
 </p>
 <img class='bordered w1000' src='doc-files/juneau-examples-rest-springboot.Heroku.6.png'>
-</div><!-- END: 19.4 - juneau-examples-rest-springboot.DeployingToHeroku -->
-</div><!-- END: 19 - juneau-examples-rest-springboot -->
+</div><!-- END: 18.4 - juneau-examples-rest-springboot.DeployingToHeroku -->
+</div><!-- END: 18 - juneau-examples-rest-springboot -->
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic ' onclick='toggle(this)'><a href='#Security' id='Security'>20 - Security Best-Practices</a></h2>
-<div class='topic'><!-- START: 20 - Security -->
+<h2 class='topic ' onclick='toggle(this)'><a href='#Security' id='Security'>19 - Security Best-Practices</a></h2>
+<div class='topic'><!-- START: 19 - Security -->
 <p>
 	Security is always an ongoing concern in any library.  
 	If you discover any security vulnerabilities in this code, please refer to the instructions found here:
@@ -28477,8 +28438,8 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-marshall' id='Security.juneau-marshall'>20.1 - juneau-marshall</a></h3>
-<div class='topic'><!-- START: 20.1 - Security.juneau-marshall -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-marshall' id='Security.juneau-marshall'>19.1 - juneau-marshall</a></h3>
+<div class='topic'><!-- START: 19.1 - Security.juneau-marshall -->
 <h5 class='topic'>Demarshalling vulnerabilities</h5>
 <p>
 	One common security vulnerability is the ability to create arbitrary Java object instances through crafted
@@ -28551,12 +28512,12 @@
 	<li>The RDF parsers rely on Apache Jena 2.7.1.  
 		As of <c>7.0.1</c>, no known security vulnerabilities exist that affect Juneau at this time.
 </ul>
-</div><!-- END: 20.1 - Security.juneau-marshall -->
+</div><!-- END: 19.1 - Security.juneau-marshall -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-svl' id='Security.juneau-svl'>20.2 - juneau-svl</a></h3>
-<div class='topic'><!-- START: 20.2 - Security.juneau-svl -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-svl' id='Security.juneau-svl'>19.2 - juneau-svl</a></h3>
+<div class='topic'><!-- START: 19.2 - Security.juneau-svl -->
 <p>
 	Care must be used when defining new {@link org.apache.juneau.svl.Var Vars} using the SVL API since mistakes 
 	could potentially expose system properties, environment variables, or even file system files.
@@ -28601,12 +28562,12 @@
 	{@link org.apache.juneau.svl.Var#allowNested()} and {@link org.apache.juneau.svl.Var#allowRecurse()} 
 	methods to prevent recursive handling of variables.
 </p>
-</div><!-- END: 20.2 - Security.juneau-svl -->
+</div><!-- END: 19.2 - Security.juneau-svl -->
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-rest-server' id='Security.juneau-rest-server'>20.3 - juneau-rest-server</a></h3>
-<div class='topic'><!-- START: 20.3 - Security.juneau-rest-server -->
+<h3 class='topic ' onclick='toggle(this)'><a href='#Security.juneau-rest-server' id='Security.juneau-rest-server'>19.3 - juneau-rest-server</a></h3>
+<div class='topic'><!-- START: 19.3 - Security.juneau-rest-server -->
 <p>
 	Denial of service attacks can be alleviated through the {@link org.apache.juneau.rest.annotation.RestResource#maxInput() maxInput()}
 	setting.  Arbitrarily-large input will trigger an exception before causing out-of-memory errors.
@@ -28618,8 +28579,8 @@
 	becomes an issue.  However, this is NOT true of the RDF parsers that use an intermediate DOM.  If parsing 
 	RDF, you may want to consider lowering the max-input value above.
 </p>
-</div><!-- END: 20.3 - Security.juneau-rest-server -->
-</div><!-- END: 20 - Security -->
+</div><!-- END: 19.3 - Security.juneau-rest-server -->
+</div><!-- END: 19 - Security -->
 
 
 <h2 class='topic' onclick='toggle(this)'><a href='#ReleaseNotes' id='ReleaseNotes'>Release Notes</a></h2>
diff --git a/juneau-doc/src/main/javadoc/resources/docs.txt b/juneau-doc/src/main/javadoc/resources/docs.txt
index 1ab4526..26aca36 100644
--- a/juneau-doc/src/main/javadoc/resources/docs.txt
+++ b/juneau-doc/src/main/javadoc/resources/docs.txt
@@ -1,7 +1,7 @@
 ARP =  https://jena.apache.org/documentation/io/arp.html, arp.html
 ConfigurableProperties = #juneau-marshall.ConfigurableProperties, Configurable Properties
 DefaultRestSvlVariables = #DefaultRestSvlVariables, Default REST SVL Variables
-DefaultSvlVariables = #juneau-svl.DefaultVarResolver, Default SVL Variables
+DefaultSvlVariables = #juneau-marshall.SimpleVariableLanguage.DefaultVarResolver, Default SVL Variables
 GFM = https://help.github.com/articles/github-flavored-markdown, GFM syntax
 HTML5 =  https://www.w3.org/TR/html5, html5
 HTML5.document-metadata =  https://www.w3.org/TR/html5/document-metadata.html, document-metadata.html
@@ -171,6 +171,11 @@ juneau-marshall.PojoCategories = #juneau-marshall.PojoCategories, Overview > jun
 juneau-marshall.ReadingContinuousStreams = #juneau-marshall.ReadingContinuousStreams, Overview > juneau-marshall > Reading Continuous Streams
 juneau-marshall.Recursion = #juneau-marshall.Recursion, Overview > juneau-marshall > Non-Tree Models and Recursion Detection
 juneau-marshall.Serializers = #juneau-marshall.Serializers, Overview > juneau-marshall > Serializers
+juneau-marshall.SimpleVariableLanguage = #juneau-marshall.SimpleVariableLanguage, Overview > juneau-marshall > Simple Variable Language
+juneau-marshall.SimpleVariableLanguage.DefaultVarResolver = #juneau-marshall.SimpleVariableLanguage.DefaultVarResolver, Overview > juneau-marshall > Simple Variable Language > VarResolver.DEFAULT
+juneau-marshall.SimpleVariableLanguage.OtherNotes = #juneau-marshall.SimpleVariableLanguage.OtherNotes, Overview > juneau-marshall > Simple Variable Language > Other Notes
+juneau-marshall.SimpleVariableLanguage.SvlVariables = #juneau-marshall.SimpleVariableLanguage.SvlVariables, Overview > juneau-marshall > Simple Variable Language > SVL Variables
+juneau-marshall.SimpleVariableLanguage.VarResolvers = #juneau-marshall.SimpleVariableLanguage.VarResolvers, Overview > juneau-marshall > Simple Variable Language > VarResolvers and VarResolverSessions
 juneau-marshall.Transforms = #juneau-marshall.Transforms, Overview > juneau-marshall > Transforms
 juneau-marshall.Transforms.AutoPojoSwaps = #juneau-marshall.Transforms.AutoPojoSwaps, Overview > juneau-marshall > Transforms > Auto-detected POJO swaps
 juneau-marshall.Transforms.BeanAnnotation = #juneau-marshall.Transforms.BeanAnnotation, Overview > juneau-marshall > Transforms > @Bean Annotation
@@ -357,12 +362,6 @@ juneau-rest-server.Transforms = #juneau-rest-server.Transforms, Overview > junea
 juneau-rest-server.URIs = #juneau-rest-server.URIs, Overview > juneau-rest-server > URIs
 juneau-rest-server.UsingWithOsgi = #juneau-rest-server.UsingWithOsgi, Overview > juneau-rest-server > Using with OSGi
 juneau-rest-server.restRPC = #juneau-rest-server.restRPC, Overview > juneau-rest-server > restRPC
-juneau-svl = #juneau-svl, Overview > juneau-svl
-juneau-svl.DefaultVarResolver = #juneau-svl.DefaultVarResolver, Overview > juneau-svl > VarResolver.DEFAULT
-juneau-svl.OtherNotes = #juneau-svl.OtherNotes, Overview > juneau-svl > Other Notes
-juneau-svl.SimpleVarLanguage = #juneau-svl.SimpleVarLanguage, Overview > juneau-svl > Simple Variable Language
-juneau-svl.SvlVariables = #juneau-svl.SvlVariables, Overview > juneau-svl > SVL Variables
-juneau-svl.VarResolvers = #juneau-svl.VarResolvers, Overview > juneau-svl > VarResolvers and VarResolverSessions
 my-jetty-microservice = #my-jetty-microservice, Overview > my-jetty-microservice
 my-jetty-microservice.Building = #my-jetty-microservice.Building, Overview > my-jetty-microservice > Building and Running from Command-Line
 my-jetty-microservice.Installing = #my-jetty-microservice.Installing, Overview > my-jetty-microservice > Installing in Eclipse
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/about.html b/juneau-doc/src/main/javadoc/resources/fragments/about.html
index d64cdff..55ee3e0 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/about.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/about.html
@@ -39,12 +39,6 @@
 		</td>
 	</tr>
 	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-svl'>juneau-svl</a></td>
-		<td>
-			A simple yet powerful variable replacement language API.
-		</td>
-	</tr>
-	<tr class='dark bb'>
 		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-config'>juneau-config</a></td>
 		<td>
 			A sophisticated configuration file API.
@@ -76,30 +70,4 @@
 			A universal REST client API for interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy interfaces.
 		</td>
 	</tr>
-	<tr class='dark bb'>
-		<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-microservice</td>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-microservice-core'>juneau-microservice-core</a></td>
-		<td>
-			A base framework for defining microservices.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##juneau-microservice-jetty'>juneau-microservice-jetty</a></td>
-		<td>
-			A REST microservice API that combines all the features above with a simple configurable Jetty server for 
-			creating lightweight standalone REST interfaces that start up in milliseconds.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##my-jetty-microservice'>my-jetty-microservice</a></td>
-		<td>
-			Starter project template for Jetty-based microservices.
-		</td>
-	</tr>
-	<tr class='dark bb'>
-		<td class='code'><a class='doclink' href='http://juneau.apache.org/site/apidocs-{@property juneauVersion}/overview-summary.html##my-springboot-microservice'>my-springboot-microservice</a></td>
-		<td>
-			Starter project template for Spring-boot-based microservices.
-		</td>
-	</tr>
 </table>
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 316eb6e..6c6ee45 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -124,6 +124,13 @@
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.OpenApiDetails.Serializers'>OpenAPI Serializers</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.OpenApiDetails.Parsers'>OpenAPI Parsers</a></p>
 		</ol>
+		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.SimpleVariableLanguage'>Simple Variable Language</a></p>
+		<ol>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.SimpleVariableLanguage.SvlVariables'>SVL Variables</a></p>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.SimpleVariableLanguage.VarResolvers'>VarResolvers and VarResolverSessions</a></p>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.SimpleVariableLanguage.DefaultVarResolver'>VarResolver.DEFAULT</a></p>
+			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.SimpleVariableLanguage.OtherNotes'>Other Notes</a></p>
+		</ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.BestPractices'>Best Practices</a></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf'>juneau-marshall-rdf</a></p>
@@ -146,14 +153,6 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-dto.Swagger'>Swagger</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-dto.SwaggerUI'>Swagger UI</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-svl'>juneau-svl</a></p>
-	<ol>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-svl.SimpleVarLanguage'>Simple Variable Language</a></p>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-svl.SvlVariables'>SVL Variables</a></p>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-svl.VarResolvers'>VarResolvers and VarResolverSessions</a></p>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-svl.DefaultVarResolver'>VarResolver.DEFAULT</a></p>
-		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-svl.OtherNotes'>Other Notes</a></p>
-	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-config'>juneau-config</a></p>
 	<ol>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-config.Overview'>Overview</a></p>
diff --git a/juneau-examples/juneau-examples-core/build-overlay/pom.xml b/juneau-examples/juneau-examples-core/build-overlay/pom.xml
index b269d93..50fc095 100644
--- a/juneau-examples/juneau-examples-core/build-overlay/pom.xml
+++ b/juneau-examples/juneau-examples-core/build-overlay/pom.xml
@@ -49,11 +49,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-svl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
 			<artifactId>juneau-config</artifactId>
 			<version>${project.version}</version>
 		</dependency>
diff --git a/juneau-examples/juneau-examples-core/pom.xml b/juneau-examples/juneau-examples-core/pom.xml
index 6081bc7..a6dfd2f 100644
--- a/juneau-examples/juneau-examples-core/pom.xml
+++ b/juneau-examples/juneau-examples-core/pom.xml
@@ -53,11 +53,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.juneau</groupId>
-			<artifactId>juneau-svl</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.juneau</groupId>
 			<artifactId>juneau-config</artifactId>
 			<version>${project.version}</version>
 		</dependency>
diff --git a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/svl/SvlExample.java b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/svl/SvlExample.java
index 5c6c989..853799e 100644
--- a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/svl/SvlExample.java
+++ b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/svl/SvlExample.java
@@ -62,8 +62,8 @@ public class SvlExample {
 
 		/*
 		 *  See all supported variable types at,
-		 *  http://juneau.apache.org/site/apidocs-8.0.0/overview-summary.html#juneau-svl
-		 *  NOTE - juneau-svl supports nested variables well
+		 *  http://juneau.apache.org/site/apidocs-8.0.0/overview-summary.html#juneau-marshall.SimpleVariableLanguage
+		 *  NOTE - juneau-marshall.SimpleVariableLanguage supports nested variables well
 		 * */
 	}
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
index 3a26612..08458ba 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/FileVar.java
@@ -61,7 +61,7 @@ import org.apache.juneau.utils.*;
  * This allows you to place license headers in files without them being serialized to the output.
  *
  * <ul class='seealso'>
- * 	<li class='link'>{@doc juneau-svl.SvlVariables}
+ * 	<li class='link'>{@doc juneau-marshall.SimpleVariableLanguage.SvlVariables}
  * </ul>
  */
 public class FileVar extends DefaultingVar {