You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/06/26 15:10:39 UTC

[juneau] branch master updated: Marshall improvements.

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 c0e3ba308 Marshall improvements.
c0e3ba308 is described below

commit c0e3ba3087f5a824f6b91f90fc16418e6f4bbcf6
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Sun Jun 26 11:09:55 2022 -0400

    Marshall improvements.
---
 README.md                                          |   4 +-
 .../main/java/org/apache/juneau/marshall/N3.java   |  14 +-
 .../java/org/apache/juneau/marshall/NTriple.java   |  14 +-
 .../java/org/apache/juneau/marshall/RdfXml.java    |  14 +-
 .../org/apache/juneau/marshall/RdfXmlAbbrev.java   |  15 +-
 .../java/org/apache/juneau/marshall/Turtle.java    |  14 +-
 .../apache/juneau/csv/CsvSerializerSession.java    |  31 +-
 .../org/apache/juneau/internal/StringUtils.java    |   2 +-
 .../org/apache/juneau/marshall/CharMarshall.java   |   1 -
 .../apache/juneau/marshall/{Json.java => Csv.java} |  46 +-
 .../main/java/org/apache/juneau/marshall/Html.java |  14 +-
 .../main/java/org/apache/juneau/marshall/Json.java |  14 +-
 .../java/org/apache/juneau/marshall/Marshall.java  | 118 ----
 .../java/org/apache/juneau/marshall/MsgPack.java   |  14 +-
 .../java/org/apache/juneau/marshall/OpenApi.java   |  14 +-
 .../java/org/apache/juneau/marshall/PlainText.java |  14 +-
 .../org/apache/juneau/marshall/SimpleJson.java     |  18 +-
 .../org/apache/juneau/marshall/StreamMarshall.java |   1 -
 .../main/java/org/apache/juneau/marshall/Uon.java  |  14 +-
 .../org/apache/juneau/marshall/UrlEncoding.java    |  14 +-
 .../main/java/org/apache/juneau/marshall/Xml.java  |  14 +-
 .../org/apache/juneau/reflect/AnnotationInfo.java  |   2 +-
 .../main/java/org/apache/juneau/utils/Console.java |  91 +++
 juneau-doc/src/main/javadoc/overview.html          | 630 +++++++++++----------
 .../src/main/javadoc/resources/fragments/toc.html  | 310 +++++-----
 juneau-env.sh                                      |   2 +-
 .../apache/juneau/microservice/Microservice.java   |   1 +
 juneau-release-env.sh                              |   4 +-
 .../org/apache/juneau/testutils/pojos/ABean.java   |   2 +-
 .../annotation/BeanConfigAnnotation_Test.java      |   2 +-
 .../org/apache/juneau/annotation/Bean_Test.java    |  24 +-
 .../http/remote/Remote_ContentAnnotation_Test.java |  10 +-
 .../remote/Remote_ResponseAnnotation_Test.java     |   2 +-
 .../org/apache/juneau/http/remote/Remote_Test.java |   4 +-
 .../Csv_Test.java}                                 |  84 +--
 .../marshall/{NTripleTest.java => Html_Test.java}  |  46 +-
 .../java/org/apache/juneau/marshall/JsonTest.java  |  56 --
 .../marshall/{UonTest.java => Json_Test.java}      |  50 +-
 .../{PlainTextTest.java => Marshall_Test.java}     |  34 +-
 .../{MsgPackTest.java => MsgPack_Test.java}        |  46 +-
 .../N3_Test.java}                                  |  93 ++-
 .../NTriple_Test.java}                             |  79 +--
 .../marshall/{HtmlTest.java => OpenApi_Test.java}  |  49 +-
 .../{SimpleJsonTest.java => PlainText_Test.java}   |  47 +-
 .../apache/juneau/marshall/RdfXmlAbbrevTest.java   |  60 --
 .../apache/juneau/marshall/RdfXmlAbbrev_Test.java  |  95 ++++
 .../org/apache/juneau/marshall/RdfXmlTest.java     |  60 --
 .../org/apache/juneau/marshall/RdfXml_Test.java    |  95 ++++
 .../SimpleJson_Test.java}                          |  79 +--
 .../org/apache/juneau/marshall/TurtleTest.java     |  57 --
 .../Turtle_Test.java}                              |  92 ++-
 .../marshall/{MsgPackTest.java => Uon_Test.java}   |  51 +-
 .../apache/juneau/marshall/UrlEncodingTest.java    |  57 --
 .../UrlEncoding_Test.java}                         |  80 +--
 .../java/org/apache/juneau/marshall/XmlTest.java   |  57 --
 .../Xml_Test.java}                                 |  80 +--
 .../juneau/rest/annotation/Content_Test.java       |   4 +-
 .../juneau/rest/client/RestCallException_Test.java |   2 +-
 .../rest/client/RestClient_BasicCalls_Test.java    |   2 +-
 .../client/RestClient_Config_RestClient_Test.java  |   4 +-
 .../rest/client/RestClient_Headers_Test.java       |   2 +-
 .../rest/client/RestClient_Marshalls_Test.java     |   2 +-
 .../rest/helper/ResourceDescription_Test.java      |   4 +-
 .../transforms/StackTraceElementSwapTest.java      |   2 +-
 .../N3Test.java => utils/Console_Test.java}        |  43 +-
 pom.xml                                            |   4 +-
 66 files changed, 1358 insertions(+), 1646 deletions(-)

diff --git a/README.md b/README.md
index c686023d0..9a8e73d00 100644
--- a/README.md
+++ b/README.md
@@ -17,8 +17,8 @@
 
 * [Homepage](https://juneau.apache.org/)
 * [Wiki](https://github.com/apache/juneau/wiki)
-* [Javadocs](https://juneau.apache.org/site/apidocs-9.0-B1/index.html)
-* [Documentation](https://juneau.apache.org/site/apidocs-9.0-B1/overview-summary.html#overview.description)
+* [Javadocs](https://juneau.apache.org/site/apidocs-9.0.0/index.html)
+* [Documentation](https://juneau.apache.org/site/apidocs-9.0.0/overview-summary.html#overview.description)
 * [Pet Store App](https://github.com/apache/juneau-petstore)
 
 ## Description
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/N3.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/N3.java
index 6e1593e98..7c82e8598 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/N3.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/N3.java
@@ -88,7 +88,7 @@ public class N3 extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class N3 extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class N3 extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class N3 extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class N3 extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class N3 extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/NTriple.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/NTriple.java
index 4849aaa16..9f49969e8 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/NTriple.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/NTriple.java
@@ -88,7 +88,7 @@ public class NTriple extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class NTriple extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class NTriple extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class NTriple extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class NTriple extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class NTriple extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXml.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXml.java
index 55e1d2bc7..c91aa587e 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXml.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXml.java
@@ -88,7 +88,7 @@ public class RdfXml extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class RdfXml extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class RdfXml extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class RdfXml extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class RdfXml extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class RdfXml extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXmlAbbrev.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXmlAbbrev.java
index 608f3e4b7..6a31f1153 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXmlAbbrev.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/RdfXmlAbbrev.java
@@ -88,7 +88,7 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -214,9 +214,12 @@ public class RdfXmlAbbrev extends CharMarshall {
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
 	 * @throws SerializeException If a problem occurred trying to convert the output.
+	 * @return The output object.
+	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/Turtle.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/Turtle.java
index 1718acfe8..dd23adfe1 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/Turtle.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/marshall/Turtle.java
@@ -88,7 +88,7 @@ public class Turtle extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class Turtle extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class Turtle extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class Turtle extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class Turtle extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class Turtle extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
index 4136d3078..2ae4ffb97 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerSession.java
@@ -19,7 +19,6 @@ import java.lang.reflect.*;
 import java.nio.charset.*;
 import java.util.*;
 import java.util.function.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.http.header.*;
 import org.apache.juneau.httppart.*;
@@ -213,6 +212,7 @@ public final class CsvSerializerSession extends WriterSerializerSession {
 		super(builder);
 	}
 
+	@SuppressWarnings("rawtypes")
 	@Override /* SerializerSession */
 	protected final void doSerialize(SerializerPipe pipe, Object o) throws IOException, SerializeException {
 
@@ -221,9 +221,12 @@ public final class CsvSerializerSession extends WriterSerializerSession {
 			Collection<?> l = null;
 			if (cm.isArray()) {
 				l = alist((Object[])o);
-			} else {
+			} else if (cm.isCollection()) {
 				l = (Collection<?>)o;
+			} else {
+				l = Collections.singleton(o);
 			}
+
 			// TODO - Doesn't support DynaBeans.
 			if (l.size() > 0) {
 				ClassMeta<?> entryType = getClassMetaForObject(l.iterator().next());
@@ -244,6 +247,30 @@ public final class CsvSerializerSession extends WriterSerializerSession {
 						});
 						w.w('\n');
 					});
+				} else if (entryType.isMap()) {
+					Flag addComma = Flag.create();
+					Map first = (Map)l.iterator().next();
+					first.keySet().forEach(x -> {
+						addComma.ifSet(() -> w.w(',')).set();
+						w.writeEntry(x);
+					});
+					w.append('\n');
+					l.stream().forEach(x -> {
+						Flag addComma2 = Flag.create();
+						Map map = (Map)x;
+						map.values().forEach(y -> {
+							addComma2.ifSet(() -> w.w(',')).set();
+							w.writeEntry(y);
+						});
+						w.w('\n');
+					});
+				} else {
+					w.writeEntry("value");
+					w.append('\n');
+					l.stream().forEach(x -> {
+						w.writeEntry(x);
+						w.w('\n');
+					});
 				}
 			}
 		}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
index 94f5685d8..f2fa5b3a2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -2865,7 +2865,7 @@ public final class StringUtils {
 	 * @return The specified object as simplified JSON.
 	 */
 	public static final String json(Object o) {
-		return SimpleJson.DEFAULT == null ? stringify(o) : SimpleJson.DEFAULT.toString(o);
+		return SimpleJson.DEFAULT == null ? stringify(o) : SimpleJson.DEFAULT.write(o);
 	}
 
 	/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/CharMarshall.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/CharMarshall.java
index fd9917377..f054aeffd 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/CharMarshall.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/CharMarshall.java
@@ -111,7 +111,6 @@ public class CharMarshall extends Marshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	@Override /* Serializer */
 	public final String write(Object object) throws SerializeException {
 		return s.serializeToString(object);
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Csv.java
similarity index 82%
copy from juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java
copy to juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Csv.java
index 980f807f3..81fcc64f3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Csv.java
@@ -17,40 +17,24 @@ import java.lang.reflect.*;
 import java.nio.charset.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.json.*;
+import org.apache.juneau.csv.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
 
 /**
- * A pairing of a {@link JsonSerializer} and {@link JsonParser} into a single class with convenience read/write methods.
- *
- * <p>
- * 	The general idea is to combine a single serializer and parser inside a simplified API for reading and writing POJOs.
- *
- * <h5 class='figure'>Examples:</h5>
- * <p class='bjava'>
- * 	<jc>// Using instance.</jc>
- * 	Json <jv>json</jv> = <jk>new</jk> Json();
- * 	MyPojo <jv>myPojo</jv> = <jv>json</jv>.read(<jv>string</jv>, MyPojo.<jk>class</jk>);
- * 	String <jv>string</jv> = <jv>json</jv>.write(<jv>myPojo</jv>);
- * </p>
- * <p class='bjava'>
- *	<jc>// Using DEFAULT instance.</jc>
- * 	MyPojo <jv>myPojo</jv> = Json.<jsf>DEFAULT</jsf>.read(<jv>string</jv>, MyPojo.<jk>class</jk>);
- * 	String <jv>string</jv> = Json.<jsf>DEFAULT</jsf>.write(<jv>myPojo</jv>);
- * </p>
+ * A pairing of a {@link CsvSerializer} and {@link CsvParser} into a single class with convenience read/write methods.
  *
  * <ul class='seealso'>
  * 	<li class='link'>{@doc jm.Marshalls}
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-public class Json extends CharMarshall {
+public class Csv extends CharMarshall {
 
 	/**
 	 * Default reusable instance.
 	 */
-	public static final Json DEFAULT = new Json();
+	public static final Csv DEFAULT = new Csv();
 
 	/**
 	 * Constructor.
@@ -62,7 +46,7 @@ public class Json extends CharMarshall {
 	 * 	The parser to use for parsing input.
 	 * 	<br>Must not be <jk>null</jk>.
 	 */
-	public Json(JsonSerializer s, JsonParser p) {
+	public Csv(CsvSerializer s, CsvParser p) {
 		super(s, p);
 	}
 
@@ -70,10 +54,10 @@ public class Json extends CharMarshall {
 	 * Constructor.
 	 *
 	 * <p>
-	 * Uses {@link JsonSerializer#DEFAULT} and {@link JsonParser#DEFAULT}.
+	 * Uses {@link CsvSerializer#DEFAULT} and {@link CsvParser#DEFAULT}.
 	 */
-	public Json() {
-		this(JsonSerializer.DEFAULT, JsonParser.DEFAULT);
+	public Csv() {
+		this(CsvSerializer.DEFAULT, CsvParser.DEFAULT);
 	}
 
 	/**
@@ -88,7 +72,7 @@ public class Json extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +102,7 @@ public class Json extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +125,7 @@ public class Json extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +162,7 @@ public class Json extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +177,7 @@ public class Json extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +197,12 @@ public class Json extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Html.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Html.java
index c03be39fc..f0c51ab1a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Html.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Html.java
@@ -88,7 +88,7 @@ public class Html extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class Html extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class Html extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class Html extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class Html extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class Html extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java
index 980f807f3..cd0f987cc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Json.java
@@ -88,7 +88,7 @@ public class Json extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class Json extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class Json extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class Json extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class Json extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class Json extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Marshall.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Marshall.java
index 14e28108c..3a8b8f9ce 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Marshall.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Marshall.java
@@ -12,12 +12,9 @@ package org.apache.juneau.marshall;
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
 
-import static org.apache.juneau.internal.ThrowableUtils.*;
-
 import java.io.*;
 import java.lang.reflect.*;
 import java.nio.charset.*;
-import java.text.*;
 
 import org.apache.juneau.*;
 import org.apache.juneau.parser.*;
@@ -86,20 +83,6 @@ public abstract class Marshall {
 		return p;
 	}
 
-	/**
-	 * Serializes a POJO directly to either a <c>String</c> or <code><jk>byte</jk>[]</code> depending on the serializer type.
-	 *
-	 * @param object The object to serialize.
-	 * @return
-	 * 	The serialized object.
-	 * 	<br>Character-based serializers will return a <c>String</c>
-	 * 	<br>Stream-based serializers will return a <code><jk>byte</jk>[]</code>
-	 * @throws SerializeException If a problem occurred trying to convert the output.
-	 */
-	public Object write(Object object) throws SerializeException {
-		return s.serialize(object);
-	}
-
 	/**
 	 * Serializes a POJO to the specified output stream or writer.
 	 *
@@ -128,107 +111,6 @@ public abstract class Marshall {
 		s.serialize(object, output);
 	}
 
-	/**
-	 * Convenience method for serializing an object to a String.
-	 *
-	 * <p>
-	 * For writer-based serializers, this is identical to calling {@link Serializer#serialize(Object)}.
-	 * <br>For stream-based serializers, this converts the returned byte array to a string based on
-	 * the {@link org.apache.juneau.serializer.OutputStreamSerializer.Builder#binaryFormat(BinaryFormat)} setting.
-	 *
-	 * @param object The object to serialize.
-	 * @return The output serialized to a string.
-	 */
-	public final String toString(Object object) {
-		try {
-			return s.serializeToString(object);
-		} catch (Exception e) {
-			throw runtimeException(e);
-		}
-	}
-
-
-	/**
-	 * Convenience method for calling <c>System.out.println(...)</c> on the specified object after calling {@link #toString(Object)}.
-	 *
-	 * @param object The object to serialize and then send to the console.
-	 * @return This object.
-	 */
-	public final Marshall println(Object object) {
-		System.out.println(toString(object));
-		return this;
-	}
-
-	/**
-	 * Prints a message with arguments to {@link System#out}.
-	 *
-	 * <p>
-	 * Arguments are automatically converted to strings using this marshaller.
-	 *
-	 * <p>
-	 * Useful for debug messages.
-	 *
-	 * <h5 class='figure'>Example:</h5>
-	 * <p class='bjava'>
-	 * 	SimpleJson.<jsf>DEFAULT</jsf>.out(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
-	 * </p>
-	 *
-	 * @param msg The {@link MessageFormat}-styled message.
-	 * @param args The arguments sent to the the formatter after running them through this marshaller.
-	 * @return This object.
-	 */
-	public final Marshall out(String msg, Object...args) {
-		System.out.println(format(msg, args));
-		return this;
-	}
-
-	/**
-	 * Prints a message with arguments to {@link System#err}.
-	 *
-	 * <p>
-	 * Arguments are automatically converted to strings using this marshaller.
-	 *
-	 * <p>
-	 * Useful for debug messages.
-	 *
-	 * <h5 class='figure'>Example:</h5>
-	 * <p class='bjava'>
-	 * 	SimpleJson.<jsf>DEFAULT</jsf>.err(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
-	 * </p>
-	 *
-	 * @param msg The {@link MessageFormat}-styled message.
-	 * @param args The arguments sent to the the formatter after running them through this marshaller.
-	 * @return This object.
-	 */
-	public final Marshall err(String msg, Object...args) {
-		System.err.println(format(msg, args));  // NOT DEBUG
-		return this;
-	}
-
-	/**
-	 * Formats a message with arguments.
-	 *
-	 * <p>
-	 * Arguments are automatically converted to strings using this marshaller.
-	 *
-	 * <p>
-	 * Useful for debug messages.
-	 *
-	 * <h5 class='figure'>Example:</h5>
-	 * <p class='bjava'>
-	 * 	String <jv>msg</jv> = SimpleJson.<jsf>DEFAULT</jsf>.format(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
-	 * </p>
-	 *
-	 * @param msg The {@link MessageFormat}-styled message.
-	 * @param args The arguments sent to the the formatter after running them through this marshaller.
-	 * @return This object.
-	 */
-	public final String format(String msg, Object...args) {
-		for (int i = 0; i < args.length; i++)
-			args[i] = toString(args[i]);
-		return MessageFormat.format(msg, args);
-	}
-
 	/**
 	 * Parses input into the specified object type.
 	 *
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MsgPack.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MsgPack.java
index 183ed3404..e7c3bd4d5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MsgPack.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/MsgPack.java
@@ -87,7 +87,7 @@ public class MsgPack extends StreamMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(byte[] input, Class<T> type) throws ParseException {
+	public static <T> T to(byte[] input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -113,7 +113,7 @@ public class MsgPack extends StreamMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -136,7 +136,7 @@ public class MsgPack extends StreamMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(byte[] input, Type type, Type...args) throws ParseException {
+	public static <T> T to(byte[] input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -169,7 +169,7 @@ public class MsgPack extends StreamMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -184,7 +184,7 @@ public class MsgPack extends StreamMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static byte[] to(Object object) throws SerializeException {
+	public static byte[] of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -202,10 +202,12 @@ public class MsgPack extends StreamMarshall {
 	 * 		<li>{@link OutputStream}
 	 * 		<li>{@link File}
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/OpenApi.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/OpenApi.java
index 9edb03cf7..04cf029b3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/OpenApi.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/OpenApi.java
@@ -88,7 +88,7 @@ public class OpenApi extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class OpenApi extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class OpenApi extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class OpenApi extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class OpenApi extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class OpenApi extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/PlainText.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/PlainText.java
index b568c050a..6cd79cc1a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/PlainText.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/PlainText.java
@@ -88,7 +88,7 @@ public class PlainText extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class PlainText extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class PlainText extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class PlainText extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class PlainText extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class PlainText extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/SimpleJson.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/SimpleJson.java
index ebcb576d5..86a39a727 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/SimpleJson.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/SimpleJson.java
@@ -16,9 +16,9 @@ import java.io.*;
 import java.lang.reflect.*;
 import java.nio.charset.*;
 
+import org.apache.http.ParseException;
 import org.apache.juneau.*;
 import org.apache.juneau.json.*;
-import org.apache.juneau.parser.*;
 import org.apache.juneau.serializer.*;
 
 /**
@@ -45,7 +45,7 @@ import org.apache.juneau.serializer.*;
  * 	<li class='extlink'>{@source}
  * </ul>
  */
-public class SimpleJson extends Json {
+public class SimpleJson extends CharMarshall {
 
 	/**
 	 * Default reusable instance.
@@ -93,7 +93,7 @@ public class SimpleJson extends Json {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -123,7 +123,7 @@ public class SimpleJson extends Json {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -146,7 +146,7 @@ public class SimpleJson extends Json {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -183,7 +183,7 @@ public class SimpleJson extends Json {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -198,7 +198,7 @@ public class SimpleJson extends Json {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -218,10 +218,12 @@ public class SimpleJson extends Json {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/StreamMarshall.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/StreamMarshall.java
index bc9aae3eb..4af67fec5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/StreamMarshall.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/StreamMarshall.java
@@ -118,7 +118,6 @@ public class StreamMarshall extends Marshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	@Override /* Serializer */
 	public final byte[] write(Object o) throws SerializeException {
 		return s.serialize(o);
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Uon.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Uon.java
index 409c3c7cb..967bc5e03 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Uon.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Uon.java
@@ -88,7 +88,7 @@ public class Uon extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class Uon extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class Uon extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class Uon extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class Uon extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class Uon extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/UrlEncoding.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/UrlEncoding.java
index 2e51b6165..368e5b0fa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/UrlEncoding.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/UrlEncoding.java
@@ -88,7 +88,7 @@ public class UrlEncoding extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class UrlEncoding extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class UrlEncoding extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class UrlEncoding extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class UrlEncoding extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class UrlEncoding extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Xml.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Xml.java
index 26c26a74d..757b7f916 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Xml.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/marshall/Xml.java
@@ -88,7 +88,7 @@ public class Xml extends CharMarshall {
 	 * @return The parsed object.
 	 * @throws ParseException Malformed input encountered.
 	 */
-	public static <T> T from(String input, Class<T> type) throws ParseException {
+	public static <T> T to(String input, Class<T> type) throws ParseException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -118,7 +118,7 @@ public class Xml extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static <T> T from(Object input, Class<T> type) throws ParseException, IOException {
+	public static <T> T to(Object input, Class<T> type) throws ParseException, IOException {
 		return DEFAULT.read(input, type);
 	}
 
@@ -141,7 +141,7 @@ public class Xml extends CharMarshall {
 	 * @throws ParseException Malformed input encountered.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(String input, Type type, Type...args) throws ParseException {
+	public static <T> T to(String input, Type type, Type...args) throws ParseException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -178,7 +178,7 @@ public class Xml extends CharMarshall {
 	 * @throws IOException Thrown by underlying stream.
 	 * @see BeanSession#getClassMeta(Type,Type...) for argument syntax for maps and collections.
 	 */
-	public static <T> T from(Object input, Type type, Type...args) throws ParseException, IOException {
+	public static <T> T to(Object input, Type type, Type...args) throws ParseException, IOException {
 		return DEFAULT.read(input, type, args);
 	}
 
@@ -193,7 +193,7 @@ public class Xml extends CharMarshall {
 	 * 	The serialized object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 */
-	public static String to(Object object) throws SerializeException {
+	public static String of(Object object) throws SerializeException {
 		return DEFAULT.write(object);
 	}
 
@@ -213,10 +213,12 @@ public class Xml extends CharMarshall {
 	 * 		<li>{@link File} - Output will be written as system-default encoded stream.
 	 * 		<li>{@link StringBuilder} - Output will be written to the specified string builder.
 	 * 	</ul>
+	 * @return The output object.
 	 * @throws SerializeException If a problem occurred trying to convert the output.
 	 * @throws IOException Thrown by underlying stream.
 	 */
-	public static void to(Object object, Object output) throws SerializeException, IOException {
+	public static Object of(Object object, Object output) throws SerializeException, IOException {
 		DEFAULT.write(object, output);
+		return output;
 	}
 }
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
index 2583aa800..6c1ac52f5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/AnnotationInfo.java
@@ -283,7 +283,7 @@ public final class AnnotationInfo<T extends Annotation> {
 
 	@Override /* Object */
 	public String toString() {
-		return SimpleJson.DEFAULT_READABLE.toString(toJsonMap());
+		return SimpleJson.DEFAULT_READABLE.write(toJsonMap());
 	}
 
 	/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/Console.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/Console.java
new file mode 100644
index 000000000..066f95496
--- /dev/null
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/Console.java
@@ -0,0 +1,91 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                                                              *
+// *                                                                                                                         *
+// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
+// *                                                                                                                         *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the License.                                              *
+// ***************************************************************************************************************************
+package org.apache.juneau.utils;
+
+import java.text.*;
+
+import org.apache.juneau.marshall.*;
+
+/**
+ * A utility for logging formatted messages to the console.
+ * Uses the {@link SimpleJson} marshall for serializing objects so any
+ * POJOs can be used as format arguments.
+ */
+public class Console {
+
+	/**
+	 * Prints a message with arguments to {@link System#out}.
+	 *
+	 * <p>
+	 * Arguments are automatically converted to strings using the {@link SimpleJson} marshall.
+	 *
+	 * <p>
+	 * Useful for debug messages.
+	 *
+	 * <h5 class='figure'>Example:</h5>
+	 * <p class='bjava'>
+	 * 	Console.<jsm>out</jsm>(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
+	 * </p>
+	 *
+	 * @param msg The {@link MessageFormat}-styled message.
+	 * @param args The arguments sent to the the formatter after running them through the {@link SimpleJson} marshall.
+	 */
+	public static final void out(String msg, Object...args) {
+		System.out.println(format(msg, args));
+	}
+
+	/**
+	 * Prints a message with arguments to {@link System#err}.
+	 *
+	 * <p>
+	 * Arguments are automatically converted to strings using the {@link SimpleJson} marshall.
+	 *
+	 * <p>
+	 * Useful for debug messages.
+	 *
+	 * <h5 class='figure'>Example:</h5>
+	 * <p class='bjava'>
+	 * 	Console.<jsm>err</jsm>(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
+	 * </p>
+	 *
+	 * @param msg The {@link MessageFormat}-styled message.
+	 * @param args The arguments sent to the the formatter after running them through the {@link SimpleJson} marshall.
+	 */
+	public static final void err(String msg, Object...args) {
+		System.err.println(format(msg, args));  // NOT DEBUG
+	}
+
+	/**
+	 * Formats a message with arguments.
+	 *
+	 * <p>
+	 * Arguments are automatically converted to strings using the {@link SimpleJson} marshall.
+	 *
+	 * <p>
+	 * Useful for debug messages.
+	 *
+	 * <h5 class='figure'>Example:</h5>
+	 * <p class='bjava'>
+	 * 	String <jv>msg</jv> = Console.<jsm>format</jsm>(<js>"myPojo={0}"</js>, <jv>myPojo</jv>);
+	 * </p>
+	 *
+	 * @param msg The {@link MessageFormat}-styled message.
+	 * @param args The arguments sent to the the formatter after running them through the {@link SimpleJson} marshall.
+	 * @return This object.
+	 */
+	public static final String format(String msg, Object...args) {
+		for (int i = 0; i < args.length; i++)
+			args[i] = SimpleJson.of(args[i]);
+		return MessageFormat.format(msg, args);
+	}
+}
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 8d5f16651..d532a4185 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -161,93 +161,93 @@
 <ol class='toc'>
 	<li><p class='toc2'><a class='doclink' href='#Overview'>Overview</a></p>
 	<ol>
-		<li><p><a class='doclink' href='#Overview.o.Core'>Core Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#Overview.o.Dto'>DTO Library Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#Overview.o.Config'>Config API Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#Overview.o.Rest'>REST Overview</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#Overview.o.Core'>Core Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#Overview.o.Dto'>DTO Library Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#Overview.o.Config'>Config API Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#Overview.o.Rest'>REST Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#Overview.o.RestServer'>REST Server Overview</a></p>
-		<li><p><a class='doclink' href='#Overview.o.RestClient'>REST Client Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#Overview.o.GeneralDesign'>General Design</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#Overview.o.RestClient'>REST Client Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#Overview.o.GeneralDesign'>General Design</a><span class='update'>created: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-marshall'>juneau-marshall</a></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.BeanContexts'>Bean Contexts</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.SerializersAndParsers'>Serializers and Parsers</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.BeanContexts'>Bean Contexts</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.SerializersAndParsers'>Serializers and Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.Marshalls'>Marshalls</a></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport'>Java Beans Support</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport'>Java Beans Support</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>@Bean Annotation</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>@Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>@Bean Annotation</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>@Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,<b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeancAnnotation'>@Beanc Annotation</a><span class='update'>updated: 8.1.0,8.1.2</span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanIgnoreAnnotation'>@BeanIgnore Annotation</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.NamePropertyAnnotation'>@NameProperty Annotation</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.ParentPropertyAnnotation'>@ParentProperty Annotation</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>POJO Builders</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>POJO Builders</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JavaBeansSupport.jm.BypassSerialization'>Bypass Serialization using Readers and InputStreams</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.HttpPartSerializersParsers'>HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.ContextSettings'>Context Settings</a><span class='update'>updated: 8.1.3,9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.ContextAnnotations'>Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.HttpPartSerializersParsers'>HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.ContextSettings'>Context Settings</a><span class='update'>updated: 8.1.3,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.ContextAnnotations'>Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,<b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.JsonMap'>JsonMap and JsonList</a><span class='update'>updated: 8.2.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.ComplexDataTypes'>Complex Data Types</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.SerializerSetsParserSets'>SerializerSets and ParserSets</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps'>Swaps</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.ComplexDataTypes'>Complex Data Types</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.SerializerSetsParserSets'>SerializerSets and ParserSets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps'>Swaps</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.DefaultSwaps'>Default Swaps</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.AutoSwaps'>Auto-detected swaps</a><span class='update'>created: 8.1.0</span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.PerMediaTypeSwaps'>Per-media-type Swaps</a><span class='update'>updated: 8.1.0,8.2.0</span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.OneWaySwaps'>One-way Swaps</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.SwapAnnotation'>@Swap Annotation</a><span class='update'>updated: 8.0.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.SwapAnnotation'>@Swap Annotation</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.TemplatedSwaps'>Templated Swaps</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.Swaps.jm.SurrogateClasses'>Surrogate Classes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.DynamicallyAppliedAnnotations'>Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.BeanDictionaries'>Bean Names and Dictionaries</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.DynamicallyAppliedAnnotations'>Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.BeanDictionaries'>Bean Names and Dictionaries</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.BeanDictionaries.jm.BeanSubTypes'>Bean Subtypes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.VirtualBeans'>Virtual Beans</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.Recursion'>Non-Tree Models and Recursion Detection</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.VirtualBeans'>Virtual Beans</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.Recursion'>Non-Tree Models and Recursion Detection</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.ParsingIntoGenericModels'>Parsing into Generic Models</a><span class='update'>updated: 8.2.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.ReadingContinuousStreams'>Reading Continuous Streams</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.MarshallingUris'>URIs</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.JacksonComparison'>Comparison with Jackson</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.ReadingContinuousStreams'>Reading Continuous Streams</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.MarshallingUris'>URIs</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.JacksonComparison'>Comparison with Jackson</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.PojoCategories'>POJO Categories</a></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.FluentAssertions'>Fluent Assertions</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.FluentAssertions'>Fluent Assertions</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage'>Simple Variable Language</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage.jm.SvlVariables'>SVL Variables</a><span class='update'>updated: 8.0.0,8.1.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>VarResolvers and VarResolverSessions</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>VarResolvers and VarResolverSessions</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage.jm.DefaultVarResolver'>VarResolver.DEFAULT</a><span class='update'>created: 8.1.0</span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.SimpleVariableLanguage.jm.SvlOtherNotes'>Other Notes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.Encoders'>Encoders</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts'>HTTP Parts</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.Encoders'>Encoders</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts'>HTTP Parts</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>org.apache.juneau.http</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>org.apache.juneau.http.annotation</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>org.apache.juneau.http.header</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>org.apache.juneau.http.part</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>org.apache.juneau.http.entity</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>org.apache.juneau.http.resource</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>org.apache.juneau.http.response</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>org.apache.juneau.http.remote</a><span class='update'>created: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>org.apache.juneau.http</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>org.apache.juneau.http.annotation</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>org.apache.juneau.http.header</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>org.apache.juneau.http.part</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>org.apache.juneau.http.entity</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>org.apache.juneau.http.resource</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>org.apache.juneau.http.response</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>org.apache.juneau.http.remote</a><span class='update'>created: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-marshall.jm.ObjectTools'>Object Tools</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-marshall.jm.ObjectTools'>Object Tools</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails'>JSON Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonMethodology'>JSON Methodology</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>JSON Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>Simplified JSON</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonParsers'>JSON Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>JSON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>Simplified JSON</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonParsers'>JSON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.JsonDetails.jm.JsonAnnotation'>@Json Annotation</a></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.JsonSchemaDetails'>JSON-Schema Support</a></p>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails'>XML Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlMethodology'>XML Methodology</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>XML Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlParsers'>XML Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>XML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlParsers'>XML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlBeanTypeNameAnnotation'>@Bean(typeName) Annotation</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlChildNameAnnotation'>@Xml(childName) Annotation</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.XmlDetails.jm.XmlFormatAnnotation'>@Xml(format) Annotation</a></p>
@@ -256,11 +256,11 @@
 		<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails'>HTML Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlMethodology'>HTML Methodology</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>HTML Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>HTML Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>HTML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>HTML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlAnnotation'>@Html Annotation</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlRenderAnnotation'>@Html(render) Annotation</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>HtmlDocSerializer</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>HtmlDocSerializer</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.BasicHtmlDocTemplate'>BasicHtmlDocTemplate</a></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.HtmlDetails.jm.HtmlCustomTemplates'>Custom Templates</a></p>
 		</ol>
@@ -268,26 +268,26 @@
 		<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails'>UON Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails.jm.UonMethodology'>UON Methodology</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails.jm.UonSerializers'>UON Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails.jm.UonParsers'>UON Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails.jm.UonSerializers'>UON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.UonDetails.jm.UonParsers'>UON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails'>URL-Encoding Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncMethodology'>URL-Encoding Methodology</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>URL-Encoding Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>URL-Encoding Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>URL-Encoding Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>URL-Encoding Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncodingAnnotation'>@UrlEncoding Annotation</a></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.MsgPackDetails'>MessagePack Details</a></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>MessagePack Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>MessagePack Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>MessagePack Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>MessagePack Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails'>OpenAPI Details</a><span class='update'>updated: 8.2.0</span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiMethodology'>OpenAPI Methodology</a><span class='update'>updated: 8.2.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>OpenAPI Serializers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>OpenAPI Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>OpenAPI Serializers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>OpenAPI Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-marshall.jm.BestPractices'>Best Practices</a></p>
 	</ol>
@@ -295,13 +295,13 @@
 	<ol>
 		<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails'>RDF Details</a></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>RDF Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>RDF Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>RDF Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>RDF Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.RdfAnnotation'>@Rdf Annotation</a></p>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>Namespaces</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>URI Properties</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>Root Property</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>Typed Literals</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>Namespaces</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>URI Properties</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>Root Property</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>Typed Literals</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-dto'>juneau-dto</a></p>
@@ -313,23 +313,23 @@
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-config'>juneau-config</a></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-config.jc.Overview'>Overview</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.Overview'>Overview</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-config.jc.Overview.jc.SyntaxRules'>Syntax Rules</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries'>Reading Entries</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries'>Reading Entries</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.Pojos'>POJOs</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.Pojos'>POJOs</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.Arrays'>Arrays</a></p>
-			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.JCFObjects'>Java Collection Framework Objects</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.BinaryData'>Binary Data</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.JCFObjects'>Java Collection Framework Objects</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-config.jc.ReadingEntries.jc.BinaryData'>Binary Data</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-config.jc.Variables'>Variables</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.Variables'>Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-config.jc.Variables.jc.LogicVariables'>Logic Variables</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-config.jc.ModdedEntries'>Modded/Encoded Entries</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-config.jc.Sections'>Sections</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.ModdedEntries'>Modded/Encoded Entries</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.Sections'>Sections</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-config.jc.SettingValues'>Setting Values</a></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-config.jc.SettingValues.jc.FileSystemChanges'>File System Changes</a></p>
@@ -337,91 +337,91 @@
 			<li><p><a class='doclink' href='#juneau-config.jc.SettingValues.jc.BulkSettingValues'>Setting Values in Bulk</a></p>
 		</ol>
 		<li><p><a class='doclink' href='#juneau-config.jc.Listeners'>Listeners</a></p>
-		<li><p><a class='doclink' href='#juneau-config.jc.SerializingConfigs'>Serializing</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.SerializingConfigs'>Serializing</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-config.jc.ConfigImports'>Imports</a><span class='update'>updated: 8.1.0</span></p>
-		<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores'>Config Stores</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores'>Config Stores</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.MemoryStore'>MemoryStore</a></p>
-			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.FileStore'>FileStore</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.CustomStores'>Custom ConfigStores</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.FileStore'>FileStore</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.CustomStores'>Custom ConfigStores</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-config.jc.ConfigStores.jc.StoreListeners'>ConfigStore Listeners</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-config.jc.ReadOnlyConfigs'>Read-only Configs</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-config.jc.ReadOnlyConfigs'>Read-only Configs</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-config.jc.ClosingConfigs'>Closing Configs</a></p>
 		<li><p><a class='doclink' href='#juneau-config.jc.SystemDefaultConfig'>System Default Config</a><span class='update'>created: 8.0.0, updated: 8.1.0</span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-rest-server'>juneau-rest-server</a><span class='update'>updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='#juneau-rest-server'>juneau-rest-server</a><span class='update'>updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Overview'>Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses'>@Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Overview'>Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses'>@Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,<b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>Predefined Classes</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>Child Resources</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>Path Variables</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>Deployment</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>Lifecycle Hooks</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>Predefined Classes</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>Child Resources</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>Path Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>Deployment</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>Lifecycle Hooks</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods'>@RestOp-Annotated Methods</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods'>@RestOp-Annotated Methods</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>Inferred HTTP Methods and Paths</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>Java Method Parameters</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>Java Method Return Types</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>Java Method Throwable Types</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>Path Patterns</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>Matchers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>Inferred HTTP Methods and Paths</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>Java Method Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>Java Method Return Types</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>Java Method Throwable Types</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>Path Patterns</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>Matchers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.OverloadingHttpMethods'>Overloading HTTP Methods</a></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>Additional Information</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>Additional Information</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts'>HTTP Parts</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts'>HTTP Parts</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>Part Marshallers</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>HTTP Part Annotations</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>Default Parts</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>@Request Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>@Response Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>HTTP Part APIs</a><span class='update'>created: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>Part Marshallers</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>HTTP Part Annotations</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>Default Parts</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>@Request Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>@Response Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>HTTP Part APIs</a><span class='update'>created: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Marshalling'>Marshalling</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HandlingFormPosts'>Form Posts</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Guards'>Guards</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Converters'>Converters</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.LocalizedMessages'>Localized Messages</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Encoders'>Encoders</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ConfigurationFiles'>Configuration Files</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.SvlVariables'>SVL Variables</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.StaticFiles'>Static files</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ClientVersioning'>Client Versioning</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Marshalling'>Marshalling</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HandlingFormPosts'>Form Posts</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Guards'>Guards</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Converters'>Converters</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.LocalizedMessages'>Localized Messages</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Encoders'>Encoders</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ConfigurationFiles'>Configuration Files</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.SvlVariables'>SVL Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.StaticFiles'>Static files</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ClientVersioning'>Client Versioning</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger'>Swagger</a></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>Basic Swagger Info</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>Basic Swagger Info</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerTags'>Tags</a></p>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerOperations'>Operations</a></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>Parameters</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerResponses'>Responses</a></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>Models</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>Models</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerStylesheet'>SwaggerUI.css</a></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ExecutionStatistics'>REST method execution statistics</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation'>@HtmlDocConfig</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ExecutionStatistics'>REST method execution statistics</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation'>@HtmlDocConfig</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUIvsDI'>User Interfaces (UI) vs. Developer Interfaces (DI)</a></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>Widgets</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>Predefined Widgets</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>UI Customization</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>Widgets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>Predefined Widgets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>UI Customization</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / Debugging</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / Debugging</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-rest-server.jrs.UsingWithOsgi'>Using with OSGi</a></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestContext'>RestContext</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span class='update'>updated: 8.0.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.SerializingUris'>Serializing URIs</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.UtilityBeans'>Utility Beans</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlBeans'>Using with HTML Beans</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestContext'>RestContext</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.SerializingUris'>Serializing URIs</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.UtilityBeans'>Utility Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server.jrs.HtmlBeans'>Using with HTML Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-rest-server.jrs.OtherNotes'>Other Notes</a></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-rest-server-rdf'>juneau-rest-server-rdf</a></p>
@@ -429,35 +429,35 @@
 	<ol>
 		<li><p><a class='doclink' href='#juneau-rest-server-jaxrs.jrsj.BaseProvider'>Juneau JAX-RS Provider</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-rest-server-springboot'>juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='#juneau-rest-server-springboot'>juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-rest-server-springboot.jrss.Overview'>Overview</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-server-springboot.jrss.Overview'>Overview</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-rest-client'>juneau-rest-client</a><span class='update'>updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='#juneau-rest-client'>juneau-rest-client</a><span class='update'>updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.PojoMarshalling'>POJO Marshalling</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.RequestParts'>Request Parts</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.RequestContent'>Request Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseStatus'>Response Status</a><span class='update'>created: 8.1.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseHeaders'>Response Headers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseContent'>Response Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.CustomCallHandlers'>Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.PojoMarshalling'>POJO Marshalling</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.RequestParts'>Request Parts</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.RequestContent'>Request Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseStatus'>Response Status</a><span class='update'>created: 8.1.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseHeaders'>Response Headers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ResponseContent'>Response Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.CustomCallHandlers'>Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-rest-client.jrc.Interceptors'>Interceptors</a><span class='update'>created: 8.2.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies'>REST Proxies</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies'>REST Proxies</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Remote'>@Remote</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>@RemoteOp</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Content'>@Content</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.FormData'>@FormData</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Query'>@Query</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Header'>@Header</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Path'>@Path</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Request'>@Request</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Response'>@Response</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Remote'>@Remote</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>@RemoteOp</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Content'>@Content</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.FormData'>@FormData</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Query'>@Query</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Header'>@Header</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Path'>@Path</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Request'>@Request</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.Response'>@Response</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='#juneau-rest-client.jrc.Proxies.jrc.DualPurposeInterfaces'>Dual-purpose (end-to-end) interfaces</a><span class='update'>created: 8.0.0</span></p>
 		</ol>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.LoggingAndDebugging'>Logging and Debugging</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-rest-client.jrc.CustomizingHttpClient'>Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.LoggingAndDebugging'>Logging and Debugging</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-rest-client.jrc.CustomizingHttpClient'>Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='#juneau-rest-client.jrc.ExtendingRestClient'>Extending RestClient</a><span class='update'>created: 8.2.0</span></p>
 		<li><p><a class='doclink' href='#juneau-rest-client.jrc.Authentication'>Authentication</a><span class='update'>updated: 8.2.0</span></p>
 		<ol>
@@ -468,7 +468,7 @@
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-rest-mock'>juneau-rest-mock</a><span class='update'>created: 8.1.0, updated: 8.2.0</span></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-rest-mock.jrm.MockRestClient'>MockRestClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-rest-mock.jrm.MockRestClient'>MockRestClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a><span class='update'>created: 8.1.0, deprecated: 8.1.2</span></p>
 	<ol>
@@ -505,12 +505,12 @@
 		<li><p><a class='doclink' href='#my-springboot-microservice.msm.Running'>Running in Eclipse</a><span class='update'>created: 8.0.0</span></p>
 		<li><p><a class='doclink' href='#my-springboot-microservice.msm.Building'>Building and Running from Command-Line</a><span class='update'>created: 8.0.0</span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='#juneau-petstore'>juneau-petstore</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='#juneau-petstore'>juneau-petstore</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='#juneau-petstore.jp.RunningTheApp'>Running the Pet Store App</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-api'>juneau-petstore-api</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-client'>juneau-petstore-client</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-server'>juneau-petstore-server</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='#juneau-petstore.jp.RunningTheApp'>Running the Pet Store App</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-api'>juneau-petstore-api</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-client'>juneau-petstore-client</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='#juneau-petstore.jp.juneau-petstore-server'>juneau-petstore-server</a><span class='update'>created: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='#Glossaries'>Glossaries</a><span class='update'>created: 8.1.3</span></p>
 	<ol>
@@ -779,7 +779,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Core' id='Overview.o.Core'>1.1 - Core Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Core' id='Overview.o.Core'>1.1 - Core Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.1 - Overview.o.Core -->
 <h5 class='topic'>Marshalling APIs</h5>
 <div class='topic'>
@@ -1272,7 +1272,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Dto' id='Overview.o.Dto'>1.2 - DTO Library Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Dto' id='Overview.o.Dto'>1.2 - DTO Library Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.2 - Overview.o.Dto -->
 <h5 class='topic'>DTO Libraries</h5>
 <div class='topic'>
@@ -1467,7 +1467,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Config' id='Overview.o.Config'>1.3 - Config API Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Config' id='Overview.o.Config'>1.3 - Config API Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.3 - Overview.o.Config -->
 <h5 class='topic'>Config API</h5>
 <div class='topic'>
@@ -1517,7 +1517,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Rest' id='Overview.o.Rest'>1.4 - REST Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.Rest' id='Overview.o.Rest'>1.4 - REST Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.4 - Overview.o.Rest -->
 <h5 class='topic'>REST Server/Client APIs</h5>
 <div class='topic'>
@@ -1899,7 +1899,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.RestClient' id='Overview.o.RestClient'>1.6 - REST Client Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.RestClient' id='Overview.o.RestClient'>1.6 - REST Client Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.6 - Overview.o.RestClient -->
 <h5 class='topic'>REST Client</h5>
 <div class='topic'>
@@ -1982,7 +1982,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.GeneralDesign' id='Overview.o.GeneralDesign'>1.7 - General Design</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#Overview.o.GeneralDesign' id='Overview.o.GeneralDesign'>1.7 - General Design</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 1.7 - Overview.o.GeneralDesign -->
 <div class='topic'>
 	<p>
@@ -2095,7 +2095,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.BeanContexts' id='juneau-marshall.jm.BeanContexts'>2.1 - Bean Contexts</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.BeanContexts' id='juneau-marshall.jm.BeanContexts'>2.1 - Bean Contexts</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.1 - juneau-marshall.jm.BeanContexts -->
 <div class='topic'>
 	<p>
@@ -2126,7 +2126,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SerializersAndParsers' id='juneau-marshall.jm.SerializersAndParsers'>2.2 - Serializers and Parsers</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SerializersAndParsers' id='juneau-marshall.jm.SerializersAndParsers'>2.2 - Serializers and Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.2 - juneau-marshall.jm.SerializersAndParsers -->
 <div class='topic'>
 	<p>
@@ -2334,7 +2334,11 @@
 	MyPojo <jv>myPojo</jv> = Json.<jsf>DEFAULT</jsf>.read(<jv>string</jv>, MyPojo.<jk>class</jk>);
 	String <jv>string</jv> = Json.<jsf>DEFAULT</jsf>.write(<jv>myPojo</jv>);
 	</p>
-	
+	<p class='bjava'>
+	<jc>// Using shortcut methods.</jc>
+	MyPojo <jv>myPojo</jv> = Json.<jsf>from</jsf>(<jv>string</jv>, MyPojo.<jk>class</jk>);
+	String <jv>string</jv> = Json.<jsf>to</jsf>(<jv>myPojo</jv>);
+	</p>
 	<ul class='seealso'>
 		<li class='doclink'>{@doc g.LanguageSupport Language Support} - Glossary of all supported languages.
 	</ul>
@@ -2343,7 +2347,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport' id='juneau-marshall.jm.JavaBeansSupport'>2.4 - Java Beans Support</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport' id='juneau-marshall.jm.JavaBeansSupport'>2.4 - Java Beans Support</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.4 - juneau-marshall.jm.JavaBeansSupport -->
 <div class='topic'>
 	<p>
@@ -2456,7 +2460,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation' id='juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>2.4.1 - @Bean Annotation</a><span class='update'>updated: 8.2.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation' id='juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>2.4.1 - @Bean Annotation</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.4.1 - juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation -->
 <div class='topic'>
 	<p>
@@ -2608,7 +2612,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation' id='juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>2.4.2 - @Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation' id='juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>2.4.2 - @Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.4.2 - juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation -->
 <div class='topic'>
 	<p>
@@ -2974,7 +2978,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders' id='juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>2.4.7 - POJO Builders</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders' id='juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>2.4.7 - POJO Builders</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.4.7 - juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders -->
 <div class='topic'>
 	<p>
@@ -3144,7 +3148,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpPartSerializersParsers' id='juneau-marshall.jm.HttpPartSerializersParsers'>2.5 - HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpPartSerializersParsers' id='juneau-marshall.jm.HttpPartSerializersParsers'>2.5 - HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.5 - juneau-marshall.jm.HttpPartSerializersParsers -->
 <div class='topic'>
 	<p>
@@ -3214,7 +3218,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ContextSettings' id='juneau-marshall.jm.ContextSettings'>2.6 - Context Settings</a><span class='update'>updated: 8.1.3,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ContextSettings' id='juneau-marshall.jm.ContextSettings'>2.6 - Context Settings</a><span class='update'>updated: 8.1.3,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.6 - juneau-marshall.jm.ContextSettings -->
 <div class='topic'>
 	<p>
@@ -3284,7 +3288,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ContextAnnotations' id='juneau-marshall.jm.ContextAnnotations'>2.7 - Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ContextAnnotations' id='juneau-marshall.jm.ContextAnnotations'>2.7 - Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.7 - juneau-marshall.jm.ContextAnnotations -->
 <div class='topic'>
 	<p>
@@ -3518,7 +3522,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ComplexDataTypes' id='juneau-marshall.jm.ComplexDataTypes'>2.9 - Complex Data Types</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ComplexDataTypes' id='juneau-marshall.jm.ComplexDataTypes'>2.9 - Complex Data Types</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.9 - juneau-marshall.jm.ComplexDataTypes -->
 <div class='topic'>
 	<p>
@@ -3570,7 +3574,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SerializerSetsParserSets' id='juneau-marshall.jm.SerializerSetsParserSets'>2.10 - SerializerSets and ParserSets</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SerializerSetsParserSets' id='juneau-marshall.jm.SerializerSetsParserSets'>2.10 - SerializerSets and ParserSets</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.10 - juneau-marshall.jm.SerializerSetsParserSets -->
 <div class='topic'>
 	<p>
@@ -3614,7 +3618,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Swaps' id='juneau-marshall.jm.Swaps'>2.11 - Swaps</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Swaps' id='juneau-marshall.jm.Swaps'>2.11 - Swaps</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.11 - juneau-marshall.jm.Swaps -->
 <div class='topic'>
 	<p>
@@ -4084,7 +4088,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Swaps.jm.SwapAnnotation' id='juneau-marshall.jm.Swaps.jm.SwapAnnotation'>2.11.5 - @Swap Annotation</a><span class='update'>updated: 8.0.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Swaps.jm.SwapAnnotation' id='juneau-marshall.jm.Swaps.jm.SwapAnnotation'>2.11.5 - @Swap Annotation</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.11.5 - juneau-marshall.jm.Swaps.jm.SwapAnnotation -->
 <div class='topic'>
 	<p>
@@ -4291,7 +4295,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.DynamicallyAppliedAnnotations' id='juneau-marshall.jm.DynamicallyAppliedAnnotations'>2.12 - Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.DynamicallyAppliedAnnotations' id='juneau-marshall.jm.DynamicallyAppliedAnnotations'>2.12 - Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.12 - juneau-marshall.jm.DynamicallyAppliedAnnotations -->
 <div class='topic'>
 	<p>
@@ -4462,7 +4466,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.BeanDictionaries' id='juneau-marshall.jm.BeanDictionaries'>2.13 - Bean Names and Dictionaries</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.BeanDictionaries' id='juneau-marshall.jm.BeanDictionaries'>2.13 - Bean Names and Dictionaries</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.13 - juneau-marshall.jm.BeanDictionaries -->
 <div class='topic'>
 	<p>
@@ -4689,7 +4693,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.VirtualBeans' id='juneau-marshall.jm.VirtualBeans'>2.14 - Virtual Beans</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.VirtualBeans' id='juneau-marshall.jm.VirtualBeans'>2.14 - Virtual Beans</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.14 - juneau-marshall.jm.VirtualBeans -->
 <div class='topic'>
 	<p>
@@ -4744,7 +4748,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Recursion' id='juneau-marshall.jm.Recursion'>2.15 - Non-Tree Models and Recursion Detection</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Recursion' id='juneau-marshall.jm.Recursion'>2.15 - Non-Tree Models and Recursion Detection</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.15 - juneau-marshall.jm.Recursion -->
 <div class='topic'>
 	<p>
@@ -4936,7 +4940,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ReadingContinuousStreams' id='juneau-marshall.jm.ReadingContinuousStreams'>2.17 - Reading Continuous Streams</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ReadingContinuousStreams' id='juneau-marshall.jm.ReadingContinuousStreams'>2.17 - Reading Continuous Streams</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.17 - juneau-marshall.jm.ReadingContinuousStreams -->
 <div class='topic'>
 	<p>
@@ -5002,7 +5006,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MarshallingUris' id='juneau-marshall.jm.MarshallingUris'>2.18 - URIs</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MarshallingUris' id='juneau-marshall.jm.MarshallingUris'>2.18 - URIs</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.18 - juneau-marshall.jm.MarshallingUris -->
 <div class='topic'>
 	<p>
@@ -5142,7 +5146,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JacksonComparison' id='juneau-marshall.jm.JacksonComparison'>2.19 - Comparison with Jackson</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JacksonComparison' id='juneau-marshall.jm.JacksonComparison'>2.19 - Comparison with Jackson</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.19 - juneau-marshall.jm.JacksonComparison -->
 <div class='topic'>
 	<p>
@@ -5594,7 +5598,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.FluentAssertions' id='juneau-marshall.jm.FluentAssertions'>2.21 - Fluent Assertions</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.FluentAssertions' id='juneau-marshall.jm.FluentAssertions'>2.21 - Fluent Assertions</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.21 - juneau-marshall.jm.FluentAssertions -->
 <div class='topic'>
 	<p>
@@ -6041,7 +6045,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers' id='juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>2.22.2 - VarResolvers and VarResolverSessions</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers' id='juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>2.22.2 - VarResolvers and VarResolverSessions</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.22.2 - juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers -->
 <div class='topic'>
 	<p>
@@ -6152,7 +6156,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Encoders' id='juneau-marshall.jm.Encoders'>2.23 - Encoders</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.Encoders' id='juneau-marshall.jm.Encoders'>2.23 - Encoders</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.23 - juneau-marshall.jm.Encoders -->
 <div class='topic'>
 	<p>
@@ -6221,7 +6225,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts' id='juneau-marshall.jm.HttpParts'>2.24 - HTTP Parts</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts' id='juneau-marshall.jm.HttpParts'>2.24 - HTTP Parts</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.24 - juneau-marshall.jm.HttpParts -->
 <div class='topic'>
 	<p>
@@ -6251,7 +6255,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>2.24.1 - org.apache.juneau.http</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>2.24.1 - org.apache.juneau.http</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.1 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http -->
 <div class='topic'>
 	<p>
@@ -6537,7 +6541,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>2.24.2 - org.apache.juneau.http.annotation</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>2.24.2 - org.apache.juneau.http.annotation</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.2 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation -->
 <div class='topic'>
 	<p>
@@ -6573,7 +6577,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>2.24.3 - org.apache.juneau.http.header</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>2.24.3 - org.apache.juneau.http.header</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.3 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header -->
 <div class='topic'>
 	<p>
@@ -6812,7 +6816,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>2.24.4 - org.apache.juneau.http.part</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>2.24.4 - org.apache.juneau.http.part</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.4 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part -->
 <div class='topic'>
 	<p>
@@ -6965,7 +6969,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>2.24.5 - org.apache.juneau.http.entity</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>2.24.5 - org.apache.juneau.http.entity</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.5 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity -->
 <div class='topic'>
 	<p>
@@ -7028,7 +7032,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>2.24.6 - org.apache.juneau.http.resource</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>2.24.6 - org.apache.juneau.http.resource</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.6 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource -->
 <div class='topic'>
 	<p>
@@ -7104,7 +7108,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>2.24.7 - org.apache.juneau.http.response</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>2.24.7 - org.apache.juneau.http.response</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.7 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response -->
 <div class='topic'>
 	<p>
@@ -7239,7 +7243,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>2.24.8 - org.apache.juneau.http.remote</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote' id='juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>2.24.8 - org.apache.juneau.http.remote</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.24.8 - juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote -->
 <div class='topic'>
 	<p>
@@ -7262,7 +7266,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ObjectTools' id='juneau-marshall.jm.ObjectTools'>2.25 - Object Tools</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.ObjectTools' id='juneau-marshall.jm.ObjectTools'>2.25 - Object Tools</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 2.25 - juneau-marshall.jm.ObjectTools -->
 <div class='topic'>
 	<p>
@@ -7756,7 +7760,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.JsonSerializers' id='juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>2.26.2 - JSON Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.JsonSerializers' id='juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>2.26.2 - JSON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.26.2 - juneau-marshall.jm.JsonDetails.jm.JsonSerializers -->
 <div class='topic'>
 	<p>
@@ -7813,7 +7817,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson' id='juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>2.26.3 - Simplified JSON</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson' id='juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>2.26.3 - Simplified JSON</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.26.3 - juneau-marshall.jm.JsonDetails.jm.SimplifiedJson -->
 <div class='topic'>
 	<p>
@@ -7881,7 +7885,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.JsonParsers' id='juneau-marshall.jm.JsonDetails.jm.JsonParsers'>2.26.4 - JSON Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.JsonDetails.jm.JsonParsers' id='juneau-marshall.jm.JsonDetails.jm.JsonParsers'>2.26.4 - JSON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.26.4 - juneau-marshall.jm.JsonDetails.jm.JsonParsers -->
 <div class='topic'>
 	<p>
@@ -8587,7 +8591,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.XmlDetails.jm.XmlSerializers' id='juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>2.28.2 - XML Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.XmlDetails.jm.XmlSerializers' id='juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>2.28.2 - XML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.28.2 - juneau-marshall.jm.XmlDetails.jm.XmlSerializers -->
 <div class='topic'>
 	<p>
@@ -8648,7 +8652,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.XmlDetails.jm.XmlParsers' id='juneau-marshall.jm.XmlDetails.jm.XmlParsers'>2.28.3 - XML Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.XmlDetails.jm.XmlParsers' id='juneau-marshall.jm.XmlDetails.jm.XmlParsers'>2.28.3 - XML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.28.3 - juneau-marshall.jm.XmlDetails.jm.XmlParsers -->
 <div class='topic'>
 	<p>
@@ -10684,7 +10688,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers' id='juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>2.29.2 - HTML Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers' id='juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>2.29.2 - HTML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.29.2 - juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers -->
 <div class='topic'>
 	<p>
@@ -10749,7 +10753,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers' id='juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>2.29.3 - HTML Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers' id='juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>2.29.3 - HTML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.29.3 - juneau-marshall.jm.HtmlDetails.jm.HtmlParsers -->
 <div class='topic'>
 	<p>
@@ -10969,7 +10973,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer' id='juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>2.29.6 - HtmlDocSerializer</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer' id='juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>2.29.6 - HtmlDocSerializer</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.29.6 - juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer -->
 <div class='topic'>
 	<p>
@@ -11441,7 +11445,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UonDetails.jm.UonSerializers' id='juneau-marshall.jm.UonDetails.jm.UonSerializers'>2.31.2 - UON Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UonDetails.jm.UonSerializers' id='juneau-marshall.jm.UonDetails.jm.UonSerializers'>2.31.2 - UON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.31.2 - juneau-marshall.jm.UonDetails.jm.UonSerializers -->
 <div class='topic'>
 	<p>
@@ -11493,7 +11497,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UonDetails.jm.UonParsers' id='juneau-marshall.jm.UonDetails.jm.UonParsers'>2.31.3 - UON Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UonDetails.jm.UonParsers' id='juneau-marshall.jm.UonDetails.jm.UonParsers'>2.31.3 - UON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.31.3 - juneau-marshall.jm.UonDetails.jm.UonParsers -->
 <div class='topic'>
 	<p>
@@ -11679,7 +11683,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers' id='juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>2.32.2 - URL-Encoding Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers' id='juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>2.32.2 - URL-Encoding Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.32.2 - juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers -->
 <div class='topic'>
 	<p>
@@ -11736,7 +11740,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers' id='juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>2.32.3 - URL-Encoding Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers' id='juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>2.32.3 - URL-Encoding Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.32.3 - juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers -->
 <div class='topic'>
 	<p>
@@ -11827,7 +11831,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers' id='juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>2.33.1 - MessagePack Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers' id='juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>2.33.1 - MessagePack Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.33.1 - juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers -->
 <div class='topic'>
 	<p>
@@ -11877,7 +11881,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers' id='juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>2.33.2 - MessagePack Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers' id='juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>2.33.2 - MessagePack Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.33.2 - juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers -->
 <div class='topic'>
 	<p>
@@ -12109,7 +12113,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers' id='juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>2.34.2 - OpenAPI Serializers</a><span class='update'>updated: 8.2.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers' id='juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>2.34.2 - OpenAPI Serializers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.34.2 - juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers -->
 <div class='topic'>
 	<p>
@@ -12625,7 +12629,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers' id='juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>2.34.3 - OpenAPI Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers' id='juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>2.34.3 - OpenAPI Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 2.34.3 - juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers -->
 <div class='topic'>
 	<p>
@@ -13106,7 +13110,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>3.1.1 - RDF Serializers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>3.1.1 - RDF Serializers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.1 - juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers -->
 <div class='topic'>
 	<p>
@@ -13196,7 +13200,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>3.1.2 - RDF Parsers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>3.1.2 - RDF Parsers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.2 - juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers -->
 <div class='topic'>
 	<p>
@@ -13297,7 +13301,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>3.1.4 - Namespaces</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>3.1.4 - Namespaces</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.4 - juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces -->
 <div class='topic'>
 	<p>
@@ -13383,7 +13387,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>3.1.5 - URI Properties</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>3.1.5 - URI Properties</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.5 - juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties -->
 <div class='topic'>
 	<p>
@@ -13492,7 +13496,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>3.1.6 - Root Property</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>3.1.6 - Root Property</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.6 - juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty -->
 <div class='topic'>
 	<p>
@@ -13565,7 +13569,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>3.1.7 - Typed Literals</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals' id='juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>3.1.7 - Typed Literals</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 3.1.7 - juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals -->
 <div class='topic'>
 	<p>
@@ -14185,7 +14189,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Overview' id='juneau-config.jc.Overview'>5.1 - Overview</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Overview' id='juneau-config.jc.Overview'>5.1 - Overview</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.1 - juneau-config.jc.Overview -->
 <div class='topic'>
 	<p>
@@ -14359,7 +14363,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries' id='juneau-config.jc.ReadingEntries'>5.2 - Reading Entries</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries' id='juneau-config.jc.ReadingEntries'>5.2 - Reading Entries</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.2 - juneau-config.jc.ReadingEntries -->
 <div class='topic'>
 	<p>
@@ -14466,7 +14470,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.Pojos' id='juneau-config.jc.ReadingEntries.jc.Pojos'>5.2.1 - POJOs</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.Pojos' id='juneau-config.jc.ReadingEntries.jc.Pojos'>5.2.1 - POJOs</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 5.2.1 - juneau-config.jc.ReadingEntries.jc.Pojos -->
 <div class='topic'>
 	<p>
@@ -14589,7 +14593,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.JCFObjects' id='juneau-config.jc.ReadingEntries.jc.JCFObjects'>5.2.3 - Java Collection Framework Objects</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.JCFObjects' id='juneau-config.jc.ReadingEntries.jc.JCFObjects'>5.2.3 - Java Collection Framework Objects</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 5.2.3 - juneau-config.jc.ReadingEntries.jc.JCFObjects -->
 <div class='topic'>
 	<p>
@@ -14652,7 +14656,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.BinaryData' id='juneau-config.jc.ReadingEntries.jc.BinaryData'>5.2.4 - Binary Data</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadingEntries.jc.BinaryData' id='juneau-config.jc.ReadingEntries.jc.BinaryData'>5.2.4 - Binary Data</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 5.2.4 - juneau-config.jc.ReadingEntries.jc.BinaryData -->
 <div class='topic'>
 	<p>
@@ -14710,7 +14714,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Variables' id='juneau-config.jc.Variables'>5.3 - Variables</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Variables' id='juneau-config.jc.Variables'>5.3 - Variables</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.3 - juneau-config.jc.Variables -->
 <div class='topic'>
 	<p>
@@ -14863,7 +14867,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ModdedEntries' id='juneau-config.jc.ModdedEntries'>5.4 - Modded/Encoded Entries</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ModdedEntries' id='juneau-config.jc.ModdedEntries'>5.4 - Modded/Encoded Entries</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.4 - juneau-config.jc.ModdedEntries -->
 <div class='topic'>
 	<p>
@@ -14915,7 +14919,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Sections' id='juneau-config.jc.Sections'>5.5 - Sections</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.Sections' id='juneau-config.jc.Sections'>5.5 - Sections</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.5 - juneau-config.jc.Sections -->
 <div class='topic'>
 	<p>
@@ -15306,7 +15310,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.SerializingConfigs' id='juneau-config.jc.SerializingConfigs'>5.8 - Serializing</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.SerializingConfigs' id='juneau-config.jc.SerializingConfigs'>5.8 - Serializing</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.8 - juneau-config.jc.SerializingConfigs -->
 <div class='topic'>
 	<p>
@@ -15454,7 +15458,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores' id='juneau-config.jc.ConfigStores'>5.10 - Config Stores</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores' id='juneau-config.jc.ConfigStores'>5.10 - Config Stores</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.10 - juneau-config.jc.ConfigStores -->
 <div class='topic'>
 	<p>
@@ -15589,7 +15593,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores.jc.FileStore' id='juneau-config.jc.ConfigStores.jc.FileStore'>5.10.2 - FileStore</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores.jc.FileStore' id='juneau-config.jc.ConfigStores.jc.FileStore'>5.10.2 - FileStore</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 5.10.2 - juneau-config.jc.ConfigStores.jc.FileStore -->
 <div class='topic'>
 	<p>
@@ -15629,7 +15633,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores.jc.CustomStores' id='juneau-config.jc.ConfigStores.jc.CustomStores'>5.10.3 - Custom ConfigStores</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ConfigStores.jc.CustomStores' id='juneau-config.jc.ConfigStores.jc.CustomStores'>5.10.3 - Custom ConfigStores</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 5.10.3 - juneau-config.jc.ConfigStores.jc.CustomStores -->
 <div class='topic'>
 	<p>
@@ -15776,7 +15780,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadOnlyConfigs' id='juneau-config.jc.ReadOnlyConfigs'>5.11 - Read-only Configs</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-config.jc.ReadOnlyConfigs' id='juneau-config.jc.ReadOnlyConfigs'>5.11 - Read-only Configs</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 5.11 - juneau-config.jc.ReadOnlyConfigs -->
 <div class='topic'>
 	<p>
@@ -15888,7 +15892,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server' id='juneau-rest-server'>6 - juneau-rest-server</a><span class='update'>updated: 9.0.0</span></h2>
+<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server' id='juneau-rest-server'>6 - juneau-rest-server</a><span class='update'>updated: <b>9.0.0</b></span></h2>
 <div class='topic'><!-- START: 6 - juneau-rest-server -->
 <div class='topic'>
 	<h5 class='figure'>Maven Dependency</h5>
@@ -16009,7 +16013,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Overview' id='juneau-rest-server.jrs.Overview'>6.1 - Overview</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Overview' id='juneau-rest-server.jrs.Overview'>6.1 - Overview</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.1 - juneau-rest-server.jrs.Overview -->
 <div class='topic'>
 	<p>
@@ -16153,7 +16157,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses' id='juneau-rest-server.jrs.AnnotatedClasses'>6.2 - @Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses' id='juneau-rest-server.jrs.AnnotatedClasses'>6.2 - @Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.2 - juneau-rest-server.jrs.AnnotatedClasses -->
 <div class='topic'>
 	<p>
@@ -16231,7 +16235,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>6.2.1 - Predefined Classes</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>6.2.1 - Predefined Classes</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.2.1 - juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses -->
 <div class='topic'>
 	<p>
@@ -16434,7 +16438,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>6.2.2 - Child Resources</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>6.2.2 - Child Resources</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.2.2 - juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources -->
 <div class='topic'>
 	<p>
@@ -16478,7 +16482,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>6.2.3 - Path Variables</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>6.2.3 - Path Variables</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.2.3 - juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables -->
 <div class='topic'>
 	<p>
@@ -16510,7 +16514,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>6.2.4 - Deployment</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>6.2.4 - Deployment</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.2.4 - juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment -->
 <div class='topic'>
 	<p>
@@ -16572,7 +16576,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>6.2.5 - Lifecycle Hooks</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks' id='juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>6.2.5 - Lifecycle Hooks</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.2.5 - juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks -->
 <div class='topic'>
 	<p>
@@ -16643,7 +16647,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods' id='juneau-rest-server.jrs.RestOpAnnotatedMethods'>6.3 - @RestOp-Annotated Methods</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods' id='juneau-rest-server.jrs.RestOpAnnotatedMethods'>6.3 - @RestOp-Annotated Methods</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.3 - juneau-rest-server.jrs.RestOpAnnotatedMethods -->
 <div class='topic'>
 	<p>
@@ -16716,7 +16720,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>6.3.1 - Inferred HTTP Methods and Paths</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>6.3.1 - Inferred HTTP Methods and Paths</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.1 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths -->
 <div class='topic'>
 	<p>
@@ -16781,7 +16785,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>6.3.2 - Java Method Parameters</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>6.3.2 - Java Method Parameters</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.2 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters -->
 <div class='topic'>
 	<p>
@@ -16958,7 +16962,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>6.3.3 - Java Method Return Types</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>6.3.3 - Java Method Return Types</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.3 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes -->
 <div class='topic'>
 	<p>
@@ -17101,7 +17105,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>6.3.4 - Java Method Throwable Types</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>6.3.4 - Java Method Throwable Types</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.4 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes -->
 <div class='topic'>
 	<p>
@@ -17193,7 +17197,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>6.3.5 - Path Patterns</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>6.3.5 - Path Patterns</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.5 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns -->
 <div class='topic'>
 	<p>
@@ -17287,7 +17291,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>6.3.6 - Matchers</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>6.3.6 - Matchers</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.6 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers -->
 <div class='topic'>
 	<p>
@@ -17379,7 +17383,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>6.3.8 - Additional Information</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation' id='juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>6.3.8 - Additional Information</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.3.8 - juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation -->
 <div class='topic'>
 	<p>
@@ -17401,7 +17405,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts' id='juneau-rest-server.jrs.HttpParts'>6.4 - HTTP Parts</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts' id='juneau-rest-server.jrs.HttpParts'>6.4 - HTTP Parts</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.4 - juneau-rest-server.jrs.HttpParts -->
 <div class='topic'>
 	<p>
@@ -17468,7 +17472,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers' id='juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>6.4.1 - Part Marshallers</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers' id='juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>6.4.1 - Part Marshallers</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.1 - juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers -->
 <div class='topic'>
 	<p>
@@ -17528,7 +17532,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations' id='juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>6.4.2 - HTTP Part Annotations</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations' id='juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>6.4.2 - HTTP Part Annotations</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.2 - juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations -->
 <div class='topic'>
 	<p>
@@ -17982,7 +17986,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts' id='juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>6.4.3 - Default Parts</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts' id='juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>6.4.3 - Default Parts</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.3 - juneau-rest-server.jrs.HttpParts.jrs.DefaultParts -->
 <div class='topic'>
 	<p>
@@ -18085,7 +18089,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans' id='juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>6.4.4 - @Request Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans' id='juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>6.4.4 - @Request Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.4 - juneau-rest-server.jrs.HttpParts.jrs.RequestBeans -->
 <div class='topic'>
 	<p>
@@ -18181,7 +18185,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans' id='juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>6.4.5 - @Response Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans' id='juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>6.4.5 - @Response Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.5 - juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans -->
 <div class='topic'>
 	<p>
@@ -18285,7 +18289,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis' id='juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>6.4.6 - HTTP Part APIs</a><span class='update'>created: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis' id='juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>6.4.6 - HTTP Part APIs</a><span class='update'>created: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.4.6 - juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis -->
 <div class='topic'>
 	<p>
@@ -18331,7 +18335,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Marshalling' id='juneau-rest-server.jrs.Marshalling'>6.5 - Marshalling</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Marshalling' id='juneau-rest-server.jrs.Marshalling'>6.5 - Marshalling</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.5 - juneau-rest-server.jrs.Marshalling -->
 <div class='topic'>
 	<p>
@@ -18496,7 +18500,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HandlingFormPosts' id='juneau-rest-server.jrs.HandlingFormPosts'>6.6 - Form Posts</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HandlingFormPosts' id='juneau-rest-server.jrs.HandlingFormPosts'>6.6 - Form Posts</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.6 - juneau-rest-server.jrs.HandlingFormPosts -->
 <div class='topic'>
 	<p>
@@ -18647,7 +18651,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Guards' id='juneau-rest-server.jrs.Guards'>6.7 - Guards</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Guards' id='juneau-rest-server.jrs.Guards'>6.7 - Guards</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.7 - juneau-rest-server.jrs.Guards -->
 <div class='topic'>
 	<p>
@@ -18757,7 +18761,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Converters' id='juneau-rest-server.jrs.Converters'>6.8 - Converters</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Converters' id='juneau-rest-server.jrs.Converters'>6.8 - Converters</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.8 - juneau-rest-server.jrs.Converters -->
 <div class='topic'>
 	<p>
@@ -18817,7 +18821,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.LocalizedMessages' id='juneau-rest-server.jrs.LocalizedMessages'>6.9 - Localized Messages</a><span class='update'>updated: 8.2.0,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.LocalizedMessages' id='juneau-rest-server.jrs.LocalizedMessages'>6.9 - Localized Messages</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.9 - juneau-rest-server.jrs.LocalizedMessages -->
 <div class='topic'>
 	<p>
@@ -18913,7 +18917,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Encoders' id='juneau-rest-server.jrs.Encoders'>6.10 - Encoders</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Encoders' id='juneau-rest-server.jrs.Encoders'>6.10 - Encoders</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.10 - juneau-rest-server.jrs.Encoders -->
 <div class='topic'>
 	<p>
@@ -18945,7 +18949,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ConfigurationFiles' id='juneau-rest-server.jrs.ConfigurationFiles'>6.11 - Configuration Files</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ConfigurationFiles' id='juneau-rest-server.jrs.ConfigurationFiles'>6.11 - Configuration Files</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.11 - juneau-rest-server.jrs.ConfigurationFiles -->
 <div class='topic'>
 	<p>
@@ -19136,7 +19140,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.SvlVariables' id='juneau-rest-server.jrs.SvlVariables'>6.12 - SVL Variables</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.SvlVariables' id='juneau-rest-server.jrs.SvlVariables'>6.12 - SVL Variables</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.12 - juneau-rest-server.jrs.SvlVariables -->
 <div class='topic'>
 	<p>	
@@ -19425,7 +19429,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.StaticFiles' id='juneau-rest-server.jrs.StaticFiles'>6.13 - Static files</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.StaticFiles' id='juneau-rest-server.jrs.StaticFiles'>6.13 - Static files</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.13 - juneau-rest-server.jrs.StaticFiles -->
 <div class='topic'>
 	<p>
@@ -19486,7 +19490,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ClientVersioning' id='juneau-rest-server.jrs.ClientVersioning'>6.14 - Client Versioning</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ClientVersioning' id='juneau-rest-server.jrs.ClientVersioning'>6.14 - Client Versioning</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.14 - juneau-rest-server.jrs.ClientVersioning -->
 <div class='topic'>
 	<p>
@@ -19562,7 +19566,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger' id='juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>6.15.1 - BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger' id='juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>6.15.1 - BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.15.1 - juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger -->
 <div class='topic'>
 	<p>
@@ -19614,7 +19618,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo' id='juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>6.15.2 - Basic Swagger Info</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo' id='juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>6.15.2 - Basic Swagger Info</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.15.2 - juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo -->
 <div class='topic'>
 	<p>
@@ -19929,7 +19933,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters' id='juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>6.15.5 - Parameters</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters' id='juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>6.15.5 - Parameters</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.15.5 - juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters -->
 <div class='topic'>
 	<p>
@@ -20120,7 +20124,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels' id='juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>6.15.7 - Models</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels' id='juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>6.15.7 - Models</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.15.7 - juneau-rest-server.jrs.Swagger.jrs.SwaggerModels -->
 <div class='topic'>
 	<p>
@@ -20231,7 +20235,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ExecutionStatistics' id='juneau-rest-server.jrs.ExecutionStatistics'>6.16 - REST method execution statistics</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ExecutionStatistics' id='juneau-rest-server.jrs.ExecutionStatistics'>6.16 - REST method execution statistics</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.16 - juneau-rest-server.jrs.ExecutionStatistics -->
 <div class='topic'>
 	<p>
@@ -20280,7 +20284,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation' id='juneau-rest-server.jrs.HtmlDocAnnotation'>6.17 - @HtmlDocConfig</a><span class='update'>updated: 8.1.0,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation' id='juneau-rest-server.jrs.HtmlDocAnnotation'>6.17 - @HtmlDocConfig</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.17 - juneau-rest-server.jrs.HtmlDocAnnotation -->
 <div class='topic'>
 	<p>
@@ -20460,7 +20464,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>6.17.2 - Widgets</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>6.17.2 - Widgets</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.17.2 - juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets -->
 <div class='topic'>
 	<p>
@@ -20550,7 +20554,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>6.17.3 - Predefined Widgets</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>6.17.3 - Predefined Widgets</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.17.3 - juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets -->
 <div class='topic'>
 	<p>
@@ -20791,7 +20795,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>6.17.4 - UI Customization</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>6.17.4 - UI Customization</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.17.4 - juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization -->
 <div class='topic'>
 	<p>
@@ -20919,7 +20923,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>6.17.5 - Stylesheets</a><span class='update'>updated: 8.1.0,9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets' id='juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>6.17.5 - Stylesheets</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 6.17.5 - juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets -->
 <div class='topic'>
 	<p>
@@ -21030,7 +21034,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.LoggingAndDebugging' id='juneau-rest-server.jrs.LoggingAndDebugging'>6.18 - Logging / Debugging</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.LoggingAndDebugging' id='juneau-rest-server.jrs.LoggingAndDebugging'>6.18 - Logging / Debugging</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.18 - juneau-rest-server.jrs.LoggingAndDebugging -->
 <div class='topic'>
 	<p>
@@ -21253,7 +21257,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpStatusCodes' id='juneau-rest-server.jrs.HttpStatusCodes'>6.19 - HTTP Status Codes</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HttpStatusCodes' id='juneau-rest-server.jrs.HttpStatusCodes'>6.19 - HTTP Status Codes</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.19 - juneau-rest-server.jrs.HttpStatusCodes -->
 <div class='topic'>
 	<p>
@@ -21323,7 +21327,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.BuiltInParameters' id='juneau-rest-server.jrs.BuiltInParameters'>6.20 - Built-in Parameters</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.BuiltInParameters' id='juneau-rest-server.jrs.BuiltInParameters'>6.20 - Built-in Parameters</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.20 - juneau-rest-server.jrs.BuiltInParameters -->
 <div class='topic'>
 	<p>
@@ -21459,7 +21463,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestContext' id='juneau-rest-server.jrs.RestContext'>6.22 - RestContext</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestContext' id='juneau-rest-server.jrs.RestContext'>6.22 - RestContext</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.22 - juneau-rest-server.jrs.RestContext -->
 <div class='topic'>
 	<p>
@@ -21607,7 +21611,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpContext' id='juneau-rest-server.jrs.RestOpContext'>6.23 - RestOpContext</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestOpContext' id='juneau-rest-server.jrs.RestOpContext'>6.23 - RestOpContext</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.23 - juneau-rest-server.jrs.RestOpContext -->
 <div class='topic'>
 	<p>
@@ -21687,7 +21691,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ResponseProcessors' id='juneau-rest-server.jrs.ResponseProcessors'>6.24 - Response Processors</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.ResponseProcessors' id='juneau-rest-server.jrs.ResponseProcessors'>6.24 - Response Processors</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.24 - juneau-rest-server.jrs.ResponseProcessors -->
 <div class='topic'>
 	<p>
@@ -21760,7 +21764,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestRpc' id='juneau-rest-server.jrs.RestRpc'>6.25 - REST/RPC</a><span class='update'>updated: 8.0.0,9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.RestRpc' id='juneau-rest-server.jrs.RestRpc'>6.25 - REST/RPC</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.25 - juneau-rest-server.jrs.RestRpc -->
 <div class='topic'>
 	<p>
@@ -22092,7 +22096,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.SerializingUris' id='juneau-rest-server.jrs.SerializingUris'>6.26 - Serializing URIs</a><span class='update'>updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.SerializingUris' id='juneau-rest-server.jrs.SerializingUris'>6.26 - Serializing URIs</a><span class='update'>updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.26 - juneau-rest-server.jrs.SerializingUris -->
 <div class='topic'>
 	<p>
@@ -22180,7 +22184,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.UtilityBeans' id='juneau-rest-server.jrs.UtilityBeans'>6.27 - Utility Beans</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.UtilityBeans' id='juneau-rest-server.jrs.UtilityBeans'>6.27 - Utility Beans</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.27 - juneau-rest-server.jrs.UtilityBeans -->
 <div class='topic'>
 	<p>
@@ -22299,7 +22303,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlBeans' id='juneau-rest-server.jrs.HtmlBeans'>6.28 - Using with HTML Beans</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server.jrs.HtmlBeans' id='juneau-rest-server.jrs.HtmlBeans'>6.28 - Using with HTML Beans</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 6.28 - juneau-rest-server.jrs.HtmlBeans -->
 <div class='topic'>
 	<p>
@@ -22566,7 +22570,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server-springboot' id='juneau-rest-server-springboot'>9 - juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></h2>
+<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server-springboot' id='juneau-rest-server-springboot'>9 - juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></h2>
 <div class='topic'><!-- START: 9 - juneau-rest-server-springboot -->
 <div class='topic'>
 	<h5 class='figure'>Maven Dependency</h5>
@@ -22596,7 +22600,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.jrss.Overview' id='juneau-rest-server-springboot.jrss.Overview'>9.1 - Overview</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-server-springboot.jrss.Overview' id='juneau-rest-server-springboot.jrss.Overview'>9.1 - Overview</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 9.1 - juneau-rest-server-springboot.jrss.Overview -->
 <div class='topic'>
 	<p>
@@ -22751,7 +22755,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client' id='juneau-rest-client'>10 - juneau-rest-client</a><span class='update'>updated: 9.0.0</span></h2>
+<h2 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client' id='juneau-rest-client'>10 - juneau-rest-client</a><span class='update'>updated: <b>9.0.0</b></span></h2>
 <div class='topic'><!-- START: 10 - juneau-rest-client -->
 <div class='topic'>
 	<h5 class='figure'>Maven Dependency</h5>
@@ -22920,7 +22924,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.PojoMarshalling' id='juneau-rest-client.jrc.PojoMarshalling'>10.1 - POJO Marshalling</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.PojoMarshalling' id='juneau-rest-client.jrc.PojoMarshalling'>10.1 - POJO Marshalling</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.1 - juneau-rest-client.jrc.PojoMarshalling -->
 <div class='topic'>
 	<p>
@@ -23029,7 +23033,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.RequestParts' id='juneau-rest-client.jrc.RequestParts'>10.2 - Request Parts</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.RequestParts' id='juneau-rest-client.jrc.RequestParts'>10.2 - Request Parts</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.2 - juneau-rest-client.jrc.RequestParts -->
 <div class='topic'>
 	<p>
@@ -23126,7 +23130,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.RequestContent' id='juneau-rest-client.jrc.RequestContent'>10.3 - Request Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.RequestContent' id='juneau-rest-client.jrc.RequestContent'>10.3 - Request Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.3 - juneau-rest-client.jrc.RequestContent -->
 <div class='topic'>
 	<p>
@@ -23196,7 +23200,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseStatus' id='juneau-rest-client.jrc.ResponseStatus'>10.4 - Response Status</a><span class='update'>created: 8.1.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseStatus' id='juneau-rest-client.jrc.ResponseStatus'>10.4 - Response Status</a><span class='update'>created: 8.1.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.4 - juneau-rest-client.jrc.ResponseStatus -->
 <div class='topic'>
 	<p>
@@ -23262,7 +23266,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseHeaders' id='juneau-rest-client.jrc.ResponseHeaders'>10.5 - Response Headers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseHeaders' id='juneau-rest-client.jrc.ResponseHeaders'>10.5 - Response Headers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.5 - juneau-rest-client.jrc.ResponseHeaders -->
 <div class='topic'>
 	<p>
@@ -23374,7 +23378,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseContent' id='juneau-rest-client.jrc.ResponseContent'>10.6 - Response Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.ResponseContent' id='juneau-rest-client.jrc.ResponseContent'>10.6 - Response Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.6 - juneau-rest-client.jrc.ResponseContent -->
 <div class='topic'>
 	<p>
@@ -23512,7 +23516,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.CustomCallHandlers' id='juneau-rest-client.jrc.CustomCallHandlers'>10.7 - Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.CustomCallHandlers' id='juneau-rest-client.jrc.CustomCallHandlers'>10.7 - Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.7 - juneau-rest-client.jrc.CustomCallHandlers -->
 <div class='topic'>
 	<p>
@@ -23626,7 +23630,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies' id='juneau-rest-client.jrc.Proxies'>10.9 - REST Proxies</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies' id='juneau-rest-client.jrc.Proxies'>10.9 - REST Proxies</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.9 - juneau-rest-client.jrc.Proxies -->
 <div class='topic'>
 	<p>
@@ -23729,7 +23733,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Remote' id='juneau-rest-client.jrc.Proxies.jrc.Remote'>10.9.1 - @Remote</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Remote' id='juneau-rest-client.jrc.Proxies.jrc.Remote'>10.9.1 - @Remote</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.1 - juneau-rest-client.jrc.Proxies.jrc.Remote -->
 <div class='topic'>
 	<p>
@@ -23888,7 +23892,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod' id='juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>10.9.2 - @RemoteOp</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod' id='juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>10.9.2 - @RemoteOp</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.2 - juneau-rest-client.jrc.Proxies.jrc.RemoteMethod -->
 <div class='topic'>
 	<p>
@@ -24048,7 +24052,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Content' id='juneau-rest-client.jrc.Proxies.jrc.Content'>10.9.3 - @Content</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Content' id='juneau-rest-client.jrc.Proxies.jrc.Content'>10.9.3 - @Content</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.3 - juneau-rest-client.jrc.Proxies.jrc.Content -->
 <div class='topic'>
 	<p>
@@ -24159,7 +24163,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.FormData' id='juneau-rest-client.jrc.Proxies.jrc.FormData'>10.9.4 - @FormData</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.FormData' id='juneau-rest-client.jrc.Proxies.jrc.FormData'>10.9.4 - @FormData</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.4 - juneau-rest-client.jrc.Proxies.jrc.FormData -->
 <div class='topic'>
 	<p>
@@ -24248,7 +24252,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Query' id='juneau-rest-client.jrc.Proxies.jrc.Query'>10.9.5 - @Query</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Query' id='juneau-rest-client.jrc.Proxies.jrc.Query'>10.9.5 - @Query</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.5 - juneau-rest-client.jrc.Proxies.jrc.Query -->
 <div class='topic'>
 	<p>
@@ -24340,7 +24344,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Header' id='juneau-rest-client.jrc.Proxies.jrc.Header'>10.9.6 - @Header</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Header' id='juneau-rest-client.jrc.Proxies.jrc.Header'>10.9.6 - @Header</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.6 - juneau-rest-client.jrc.Proxies.jrc.Header -->
 <div class='topic'>
 	<p>
@@ -24418,7 +24422,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Path' id='juneau-rest-client.jrc.Proxies.jrc.Path'>10.9.7 - @Path</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Path' id='juneau-rest-client.jrc.Proxies.jrc.Path'>10.9.7 - @Path</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.7 - juneau-rest-client.jrc.Proxies.jrc.Path -->
 <div class='topic'>
 	<p>
@@ -24495,7 +24499,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Request' id='juneau-rest-client.jrc.Proxies.jrc.Request'>10.9.8 - @Request</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Request' id='juneau-rest-client.jrc.Proxies.jrc.Request'>10.9.8 - @Request</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.8 - juneau-rest-client.jrc.Proxies.jrc.Request -->
 <div class='topic'>
 	<p>
@@ -24617,7 +24621,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Response' id='juneau-rest-client.jrc.Proxies.jrc.Response'>10.9.9 - @Response</a><span class='update'>updated: 9.0.0</span></h4>
+<h5 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.Proxies.jrc.Response' id='juneau-rest-client.jrc.Proxies.jrc.Response'>10.9.9 - @Response</a><span class='update'>updated: <b>9.0.0</b></span></h4>
 <div class='topic'><!-- START: 10.9.9 - juneau-rest-client.jrc.Proxies.jrc.Response -->
 <div class='topic'>
 	<p>
@@ -24790,7 +24794,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.LoggingAndDebugging' id='juneau-rest-client.jrc.LoggingAndDebugging'>10.10 - Logging and Debugging</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.LoggingAndDebugging' id='juneau-rest-client.jrc.LoggingAndDebugging'>10.10 - Logging and Debugging</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.10 - juneau-rest-client.jrc.LoggingAndDebugging -->
 <div class='topic'>
 	<p>
@@ -24877,7 +24881,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.CustomizingHttpClient' id='juneau-rest-client.jrc.CustomizingHttpClient'>10.11 - Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-client.jrc.CustomizingHttpClient' id='juneau-rest-client.jrc.CustomizingHttpClient'>10.11 - Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 10.11 - juneau-rest-client.jrc.CustomizingHttpClient -->
 <div class='topic'>
 	<p>
@@ -25254,7 +25258,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-mock.jrm.MockRestClient' id='juneau-rest-mock.jrm.MockRestClient'>11.1 - MockRestClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-rest-mock.jrm.MockRestClient' id='juneau-rest-mock.jrm.MockRestClient'>11.1 - MockRestClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 11.1 - juneau-rest-mock.jrm.MockRestClient -->
 <div class='topic'>
 	<p>
@@ -27644,7 +27648,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h2 class='topic' onclick='toggle(this)'><a href='#juneau-petstore' id='juneau-petstore'>16 - juneau-petstore</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></h2>
+<h2 class='topic' onclick='toggle(this)'><a href='#juneau-petstore' id='juneau-petstore'>16 - juneau-petstore</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></h2>
 <div class='topic'><!-- START: 16 - juneau-petstore -->
 <div class='topic'>
 	<p>
@@ -27671,7 +27675,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.RunningTheApp' id='juneau-petstore.jp.RunningTheApp'>16.1 - Running the Pet Store App</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.RunningTheApp' id='juneau-petstore.jp.RunningTheApp'>16.1 - Running the Pet Store App</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 16.1 - juneau-petstore.jp.RunningTheApp -->
 <div class='topic'>
 	<p>
@@ -27705,7 +27709,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-api' id='juneau-petstore.jp.juneau-petstore-api'>16.2 - juneau-petstore-api</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-api' id='juneau-petstore.jp.juneau-petstore-api'>16.2 - juneau-petstore-api</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 16.2 - juneau-petstore.jp.juneau-petstore-api -->
 <div class='topic'>
 	<p>
@@ -27913,7 +27917,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-client' id='juneau-petstore.jp.juneau-petstore-client'>16.3 - juneau-petstore-client</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-client' id='juneau-petstore.jp.juneau-petstore-client'>16.3 - juneau-petstore-client</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 16.3 - juneau-petstore.jp.juneau-petstore-client -->
 <div class='topic'>
 	<p>
@@ -27949,7 +27953,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-server' id='juneau-petstore.jp.juneau-petstore-server'>16.4 - juneau-petstore-server</a><span class='update'>created: 9.0.0</span></h3>
+<h3 class='topic' onclick='toggle(this)'><a href='#juneau-petstore.jp.juneau-petstore-server' id='juneau-petstore.jp.juneau-petstore-server'>16.4 - juneau-petstore-server</a><span class='update'>created: <b>9.0.0</b></span></h3>
 <div class='topic'><!-- START: 16.4 - juneau-petstore.jp.juneau-petstore-server -->
 <div class='topic'>
 	<p>
@@ -27998,8 +28002,8 @@
 		}
 	
 		<ja>@Bean</ja>
-		<jk>public</jk> ServletRegistrationBean<Servlet> getRootServlet(RootResources rootResources) {
-			<jk>return new</jk> ServletRegistrationBean<>(rootResources, "/*");
+		<jk>public</jk> ServletRegistrationBean<Servlet> getRootServlet(RootResources <jv>rootResources</jv>) {
+			<jk>return new</jk> ServletRegistrationBean<>(<jv>rootResources</jv>, <js>"/*"</js>);
 		}
 	}
 	</p>
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 0e74cf8e8..3b7eae738 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -15,93 +15,93 @@
 <ol class='toc'>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#Overview'>Overview</a></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Core'>Core Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Dto'>DTO Library Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Config'>Config API Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Rest'>REST Overview</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Core'>Core Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Dto'>DTO Library Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Config'>Config API Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.Rest'>REST Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.RestServer'>REST Server Overview</a></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.RestClient'>REST Client Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.GeneralDesign'>General Design</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.RestClient'>REST Client Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#Overview.o.GeneralDesign'>General Design</a><span class='update'>created: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall'>juneau-marshall</a></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BeanContexts'>Bean Contexts</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SerializersAndParsers'>Serializers and Parsers</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BeanContexts'>Bean Contexts</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SerializersAndParsers'>Serializers and Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Marshalls'>Marshalls</a></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport'>Java Beans Support</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport'>Java Beans Support</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>@Bean Annotation</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>@Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeanAnnotation'>@Bean Annotation</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeanpAnnotation'>@Beanp Annotation</a><span class='update'>updated: 8.1.0,8.1.2,<b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeancAnnotation'>@Beanc Annotation</a><span class='update'>updated: 8.1.0,8.1.2</span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BeanIgnoreAnnotation'>@BeanIgnore Annotation</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.NamePropertyAnnotation'>@NameProperty Annotation</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.ParentPropertyAnnotation'>@ParentProperty Annotation</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>POJO Builders</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.PojoBuilders'>POJO Builders</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JavaBeansSupport.jm.BypassSerialization'>Bypass Serialization using Readers and InputStreams</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpPartSerializersParsers'>HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ContextSettings'>Context Settings</a><span class='update'>updated: 8.1.3,9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ContextAnnotations'>Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpPartSerializersParsers'>HTTP Part Serializers and Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ContextSettings'>Context Settings</a><span class='update'>updated: 8.1.3,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ContextAnnotations'>Context Annotations</a><span class='update'>created: 8.1.0, updated: 8.1.3,8.2.0,<b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonMap'>JsonMap and JsonList</a><span class='update'>updated: 8.2.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ComplexDataTypes'>Complex Data Types</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SerializerSetsParserSets'>SerializerSets and ParserSets</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps'>Swaps</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ComplexDataTypes'>Complex Data Types</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SerializerSetsParserSets'>SerializerSets and ParserSets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps'>Swaps</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.DefaultSwaps'>Default Swaps</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.AutoSwaps'>Auto-detected swaps</a><span class='update'>created: 8.1.0</span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.PerMediaTypeSwaps'>Per-media-type Swaps</a><span class='update'>updated: 8.1.0,8.2.0</span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.OneWaySwaps'>One-way Swaps</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.SwapAnnotation'>@Swap Annotation</a><span class='update'>updated: 8.0.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.SwapAnnotation'>@Swap Annotation</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.TemplatedSwaps'>Templated Swaps</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Swaps.jm.SurrogateClasses'>Surrogate Classes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.DynamicallyAppliedAnnotations'>Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BeanDictionaries'>Bean Names and Dictionaries</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.DynamicallyAppliedAnnotations'>Dynamically Applied Annotations</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BeanDictionaries'>Bean Names and Dictionaries</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BeanDictionaries.jm.BeanSubTypes'>Bean Subtypes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.VirtualBeans'>Virtual Beans</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Recursion'>Non-Tree Models and Recursion Detection</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.VirtualBeans'>Virtual Beans</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Recursion'>Non-Tree Models and Recursion Detection</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ParsingIntoGenericModels'>Parsing into Generic Models</a><span class='update'>updated: 8.2.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ReadingContinuousStreams'>Reading Continuous Streams</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MarshallingUris'>URIs</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JacksonComparison'>Comparison with Jackson</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ReadingContinuousStreams'>Reading Continuous Streams</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MarshallingUris'>URIs</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JacksonComparison'>Comparison with Jackson</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.PojoCategories'>POJO Categories</a></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.FluentAssertions'>Fluent Assertions</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.FluentAssertions'>Fluent Assertions</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage'>Simple Variable Language</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage.jm.SvlVariables'>SVL Variables</a><span class='update'>updated: 8.0.0,8.1.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>VarResolvers and VarResolverSessions</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage.jm.VarResolvers'>VarResolvers and VarResolverSessions</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage.jm.DefaultVarResolver'>VarResolver.DEFAULT</a><span class='update'>created: 8.1.0</span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.SimpleVariableLanguage.jm.SvlOtherNotes'>Other Notes</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Encoders'>Encoders</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts'>HTTP Parts</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.Encoders'>Encoders</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts'>HTTP Parts</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>org.apache.juneau.http</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>org.apache.juneau.http.annotation</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>org.apache.juneau.http.header</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>org.apache.juneau.http.part</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>org.apache.juneau.http.entity</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>org.apache.juneau.http.resource</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>org.apache.juneau.http.response</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>org.apache.juneau.http.remote</a><span class='update'>created: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http'>org.apache.juneau.http</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.annotation'>org.apache.juneau.http.annotation</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.header'>org.apache.juneau.http.header</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.part'>org.apache.juneau.http.part</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.entity'>org.apache.juneau.http.entity</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.resource'>org.apache.juneau.http.resource</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.response'>org.apache.juneau.http.response</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HttpParts.jm.org.apache.juneau.http.remote'>org.apache.juneau.http.remote</a><span class='update'>created: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ObjectTools'>Object Tools</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.ObjectTools'>Object Tools</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails'>JSON Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonMethodology'>JSON Methodology</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>JSON Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>Simplified JSON</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonParsers'>JSON Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonSerializers'>JSON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.SimplifiedJson'>Simplified JSON</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonParsers'>JSON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonDetails.jm.JsonAnnotation'>@Json Annotation</a></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.JsonSchemaDetails'>JSON-Schema Support</a></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails'>XML Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlMethodology'>XML Methodology</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>XML Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlParsers'>XML Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlSerializers'>XML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlParsers'>XML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlBeanTypeNameAnnotation'>@Bean(typeName) Annotation</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlChildNameAnnotation'>@Xml(childName) Annotation</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.XmlDetails.jm.XmlFormatAnnotation'>@Xml(format) Annotation</a></p>
@@ -110,11 +110,11 @@
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails'>HTML Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlMethodology'>HTML Methodology</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>HTML Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>HTML Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlSerializers'>HTML Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlParsers'>HTML Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlAnnotation'>@Html Annotation</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlRenderAnnotation'>@Html(render) Annotation</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>HtmlDocSerializer</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlDocSerializer'>HtmlDocSerializer</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.BasicHtmlDocTemplate'>BasicHtmlDocTemplate</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.HtmlDetails.jm.HtmlCustomTemplates'>Custom Templates</a></p>
 		</ol>
@@ -122,26 +122,26 @@
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails'>UON Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails.jm.UonMethodology'>UON Methodology</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails.jm.UonSerializers'>UON Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails.jm.UonParsers'>UON Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails.jm.UonSerializers'>UON Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UonDetails.jm.UonParsers'>UON Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails'>URL-Encoding Details</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncMethodology'>URL-Encoding Methodology</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>URL-Encoding Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>URL-Encoding Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncSerializers'>URL-Encoding Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncParsers'>URL-Encoding Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.UrlEncodingDetails.jm.UrlEncodingAnnotation'>@UrlEncoding Annotation</a></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MsgPackDetails'>MessagePack Details</a></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>MessagePack Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>MessagePack Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MsgPackDetails.jm.MsgPackSerializers'>MessagePack Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.MsgPackDetails.jm.MsgPackParsers'>MessagePack Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails'>OpenAPI Details</a><span class='update'>updated: 8.2.0</span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails.jm.OpenApiMethodology'>OpenAPI Methodology</a><span class='update'>updated: 8.2.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>OpenAPI Serializers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>OpenAPI Parsers</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails.jm.OpenApiSerializers'>OpenAPI Serializers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.OpenApiDetails.jm.OpenApiParsers'>OpenAPI Parsers</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall.jm.BestPractices'>Best Practices</a></p>
 	</ol>
@@ -149,13 +149,13 @@
 	<ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails'>RDF Details</a></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>RDF Serializers</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>RDF Parsers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Serializers'>RDF Serializers</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Parsers'>RDF Parsers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.RdfAnnotation'>@Rdf Annotation</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>Namespaces</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>URI Properties</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>Root Property</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>Typed Literals</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.Namespaces'>Namespaces</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.UriProperties'>URI Properties</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.RootProperty'>Root Property</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-marshall-rdf.jmr.RdfDetails.jmr.TypedLiterals'>Typed Literals</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-dto'>juneau-dto</a></p>
@@ -167,23 +167,23 @@
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-config'>juneau-config</a></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Overview'>Overview</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Overview'>Overview</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Overview.jc.SyntaxRules'>Syntax Rules</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries'>Reading Entries</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries'>Reading Entries</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.Pojos'>POJOs</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.Pojos'>POJOs</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.Arrays'>Arrays</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.JCFObjects'>Java Collection Framework Objects</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.BinaryData'>Binary Data</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.JCFObjects'>Java Collection Framework Objects</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadingEntries.jc.BinaryData'>Binary Data</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Variables'>Variables</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Variables'>Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Variables.jc.LogicVariables'>Logic Variables</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ModdedEntries'>Modded/Encoded Entries</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Sections'>Sections</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ModdedEntries'>Modded/Encoded Entries</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Sections'>Sections</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SettingValues'>Setting Values</a></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SettingValues.jc.FileSystemChanges'>File System Changes</a></p>
@@ -191,91 +191,91 @@
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SettingValues.jc.BulkSettingValues'>Setting Values in Bulk</a></p>
 		</ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.Listeners'>Listeners</a></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SerializingConfigs'>Serializing</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SerializingConfigs'>Serializing</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigImports'>Imports</a><span class='update'>updated: 8.1.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores'>Config Stores</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores'>Config Stores</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.MemoryStore'>MemoryStore</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.FileStore'>FileStore</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.CustomStores'>Custom ConfigStores</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.FileStore'>FileStore</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.CustomStores'>Custom ConfigStores</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ConfigStores.jc.StoreListeners'>ConfigStore Listeners</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadOnlyConfigs'>Read-only Configs</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ReadOnlyConfigs'>Read-only Configs</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.ClosingConfigs'>Closing Configs</a></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-config.jc.SystemDefaultConfig'>System Default Config</a><span class='update'>created: 8.0.0, updated: 8.1.0</span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server'>juneau-rest-server</a><span class='update'>updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server'>juneau-rest-server</a><span class='update'>updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Overview'>Overview</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses'>@Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Overview'>Overview</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses'>@Rest-Annotated Classes</a><span class='update'>updated: 8.1.2,<b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>Predefined Classes</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>Child Resources</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>Path Variables</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>Deployment</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>Lifecycle Hooks</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.PredefinedClasses'>Predefined Classes</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.ChildResources'>Child Resources</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.PathVariables'>Path Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.Deployment'>Deployment</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.AnnotatedClasses.jrs.LifecycleHooks'>Lifecycle Hooks</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods'>@RestOp-Annotated Methods</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods'>@RestOp-Annotated Methods</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>Inferred HTTP Methods and Paths</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>Java Method Parameters</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>Java Method Return Types</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>Java Method Throwable Types</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>Path Patterns</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>Matchers</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.InferredHttpMethodsAndPaths'>Inferred HTTP Methods and Paths</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodParameters'>Java Method Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodReturnTypes'>Java Method Return Types</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.JavaMethodThrowableTypes'>Java Method Throwable Types</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.PathPatterns'>Path Patterns</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.Matchers'>Matchers</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.OverloadingHttpMethods'>Overloading HTTP Methods</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>Additional Information</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpAnnotatedMethods.jrs.AdditionalInformation'>Additional Information</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts'>HTTP Parts</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts'>HTTP Parts</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>Part Marshallers</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>HTTP Part Annotations</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>Default Parts</a><span class='update'>created: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>@Request Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>@Response Beans</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>HTTP Part APIs</a><span class='update'>created: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.PartMarshallers'>Part Marshallers</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.HttpPartAnnotations'>HTTP Part Annotations</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.DefaultParts'>Default Parts</a><span class='update'>created: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.RequestBeans'>@Request Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.ResponseBeans'>@Response Beans</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpParts.jrs.HttpPartApis'>HTTP Part APIs</a><span class='update'>created: <b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Marshalling'>Marshalling</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HandlingFormPosts'>Form Posts</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Guards'>Guards</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Converters'>Converters</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.LocalizedMessages'>Localized Messages</a><span class='update'>updated: 8.2.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Encoders'>Encoders</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ConfigurationFiles'>Configuration Files</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.SvlVariables'>SVL Variables</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.StaticFiles'>Static files</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ClientVersioning'>Client Versioning</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Marshalling'>Marshalling</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HandlingFormPosts'>Form Posts</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Guards'>Guards</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Converters'>Converters</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.LocalizedMessages'>Localized Messages</a><span class='update'>updated: 8.2.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Encoders'>Encoders</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ConfigurationFiles'>Configuration Files</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.SvlVariables'>SVL Variables</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.StaticFiles'>Static files</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ClientVersioning'>Client Versioning</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger'>Swagger</a></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>Basic Swagger Info</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.BasicRestServletSwagger'>BasicRestServlet/BasicRestObject</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.BasicSwaggerInfo'>Basic Swagger Info</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerTags'>Tags</a></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerOperations'>Operations</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>Parameters</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerParameters'>Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerResponses'>Responses</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>Models</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerModels'>Models</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.Swagger.jrs.SwaggerStylesheet'>SwaggerUI.css</a></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ExecutionStatistics'>REST method execution statistics</a><span class='update'>created: 8.1.3, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation'>@HtmlDocConfig</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ExecutionStatistics'>REST method execution statistics</a><span class='update'>created: 8.1.3, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation'>@HtmlDocConfig</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
 		<ol>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUIvsDI'>User Interfaces (UI) vs. Developer Interfaces (DI)</a></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>Widgets</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>Predefined Widgets</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>UI Customization</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span class='update'>updated: 8.1.0,9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlWidgets'>Widgets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlPredefinedWidgets'>Predefined Widgets</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlUiCustomization'>UI Customization</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlDocAnnotation.jrs.HtmlStylesheets'>Stylesheets</a><span class='update'>updated: 8.1.0,<b>9.0.0</b></span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / Debugging</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span class='update'>updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.LoggingAndDebugging'>Logging / Debugging</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HttpStatusCodes'>HTTP Status Codes</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.BuiltInParameters'>Built-in Parameters</a><span class='update'>updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.UsingWithOsgi'>Using with OSGi</a></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestContext'>RestContext</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span class='update'>updated: 8.0.0,9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.SerializingUris'>Serializing URIs</a><span class='update'>updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.UtilityBeans'>Utility Beans</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlBeans'>Using with HTML Beans</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestContext'>RestContext</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestOpContext'>RestOpContext</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.ResponseProcessors'>Response Processors</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.RestRpc'>REST/RPC</a><span class='update'>updated: 8.0.0,<b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.SerializingUris'>Serializing URIs</a><span class='update'>updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.UtilityBeans'>Utility Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.HtmlBeans'>Using with HTML Beans</a><span class='update'>created: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.jrs.OtherNotes'>Other Notes</a></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-rdf'>juneau-rest-server-rdf</a></p>
@@ -283,35 +283,35 @@
 	<ol>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-jaxrs.jrsj.BaseProvider'>Juneau JAX-RS Provider</a></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-springboot'>juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-springboot'>juneau-rest-server-springboot</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-springboot.jrss.Overview'>Overview</a><span class='update'>created: 8.0.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server-springboot.jrss.Overview'>Overview</a><span class='update'>created: 8.0.0, updated: <b>9.0.0</b></span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client'>juneau-rest-client</a><span class='update'>updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client'>juneau-rest-client</a><span class='update'>updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.PojoMarshalling'>POJO Marshalling</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.RequestParts'>Request Parts</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.RequestContent'>Request Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseStatus'>Response Status</a><span class='update'>created: 8.1.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseHeaders'>Response Headers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseContent'>Response Content</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.CustomCallHandlers'>Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.PojoMarshalling'>POJO Marshalling</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.RequestParts'>Request Parts</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.RequestContent'>Request Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseStatus'>Response Status</a><span class='update'>created: 8.1.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseHeaders'>Response Headers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ResponseContent'>Response Content</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.CustomCallHandlers'>Custom Call Handlers</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Interceptors'>Interceptors</a><span class='update'>created: 8.2.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies'>REST Proxies</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies'>REST Proxies</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<ol>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Remote'>@Remote</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>@RemoteOp</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Content'>@Content</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.FormData'>@FormData</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Query'>@Query</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Header'>@Header</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Path'>@Path</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Request'>@Request</a><span class='update'>updated: 9.0.0</span></p>
-			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Response'>@Response</a><span class='update'>updated: 9.0.0</span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Remote'>@Remote</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.RemoteMethod'>@RemoteOp</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Content'>@Content</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.FormData'>@FormData</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Query'>@Query</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Header'>@Header</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Path'>@Path</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Request'>@Request</a><span class='update'>updated: <b>9.0.0</b></span></p>
+			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.Response'>@Response</a><span class='update'>updated: <b>9.0.0</b></span></p>
 			<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Proxies.jrc.DualPurposeInterfaces'>Dual-purpose (end-to-end) interfaces</a><span class='update'>created: 8.0.0</span></p>
 		</ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.LoggingAndDebugging'>Logging and Debugging</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.CustomizingHttpClient'>Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.LoggingAndDebugging'>Logging and Debugging</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.CustomizingHttpClient'>Customizing HttpClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.ExtendingRestClient'>Extending RestClient</a><span class='update'>created: 8.2.0</span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-client.jrc.Authentication'>Authentication</a><span class='update'>updated: 8.2.0</span></p>
 		<ol>
@@ -322,7 +322,7 @@
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-mock'>juneau-rest-mock</a><span class='update'>created: 8.1.0, updated: 8.2.0</span></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-mock.jrm.MockRestClient'>MockRestClient</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-mock.jrm.MockRestClient'>MockRestClient</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-microservice-core'>juneau-microservice-core</a><span class='update'>created: 8.1.0, deprecated: 8.1.2</span></p>
 	<ol>
@@ -359,12 +359,12 @@
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#my-springboot-microservice.msm.Running'>Running in Eclipse</a><span class='update'>created: 8.0.0</span></p>
 		<li><p><a class='doclink' href='{OVERVIEW_URL}#my-springboot-microservice.msm.Building'>Building and Running from Command-Line</a><span class='update'>created: 8.0.0</span></p>
 	</ol>
-	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore'>juneau-petstore</a><span class='update'>created: 8.2.0, updated: 9.0.0</span></p>
+	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore'>juneau-petstore</a><span class='update'>created: 8.2.0, updated: <b>9.0.0</b></span></p>
 	<ol>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.RunningTheApp'>Running the Pet Store App</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-api'>juneau-petstore-api</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-client'>juneau-petstore-client</a><span class='update'>created: 9.0.0</span></p>
-		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-server'>juneau-petstore-server</a><span class='update'>created: 9.0.0</span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.RunningTheApp'>Running the Pet Store App</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-api'>juneau-petstore-api</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-client'>juneau-petstore-client</a><span class='update'>created: <b>9.0.0</b></span></p>
+		<li><p><a class='doclink' href='{OVERVIEW_URL}#juneau-petstore.jp.juneau-petstore-server'>juneau-petstore-server</a><span class='update'>created: <b>9.0.0</b></span></p>
 	</ol>
 	<li><p class='toc2'><a class='doclink' href='{OVERVIEW_URL}#Glossaries'>Glossaries</a><span class='update'>created: 8.1.3</span></p>
 	<ol>
diff --git a/juneau-env.sh b/juneau-env.sh
index 67394da60..1c0a83492 100755
--- a/juneau-env.sh
+++ b/juneau-env.sh
@@ -13,7 +13,7 @@
 
 . ~/.profile
 set -e
-export JUNEAU_VERSION=9.0-B1
+export JUNEAU_VERSION=9.0.0
 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
 export PATH=$JAVA_HOME/bin:$PATH
 export PATH=/opt/homebrew/bin:$PATH
diff --git a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
index 7f12f0b61..54555f617 100755
--- a/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
+++ b/juneau-microservice/juneau-microservice-core/src/main/java/org/apache/juneau/microservice/Microservice.java
@@ -19,6 +19,7 @@ import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.internal.ThrowableUtils.*;
 
 import java.io.*;
+import java.io.Console;
 import java.net.*;
 import java.nio.file.*;
 import java.text.*;
diff --git a/juneau-release-env.sh b/juneau-release-env.sh
index 69fadcb63..f166ba292 100755
--- a/juneau-release-env.sh
+++ b/juneau-release-env.sh
@@ -16,9 +16,9 @@
 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
 export PATH=$JAVA_HOME/bin:$PATH
 
-export X_VERSION=9.0-B1
+export X_VERSION=9.0.0
 export X_NEXT_VERSION=9.0.0-SNAPSHOT
-export X_RELEASE=juneau-9.0-B1-RC1
+export X_RELEASE=juneau-9.0.0-RC1
 export X_STAGING=~/tmp/dist-release-juneau
 export X_USERNAME=jamesbognar
 export X_EMAIL=jamesbognar@apache.org
diff --git a/juneau-utest-utils/src/main/java/org/apache/juneau/testutils/pojos/ABean.java b/juneau-utest-utils/src/main/java/org/apache/juneau/testutils/pojos/ABean.java
index 87820dea4..0eaf0208d 100644
--- a/juneau-utest-utils/src/main/java/org/apache/juneau/testutils/pojos/ABean.java
+++ b/juneau-utest-utils/src/main/java/org/apache/juneau/testutils/pojos/ABean.java
@@ -27,6 +27,6 @@ public class ABean {
 
 	@Override
 	public String toString() {
-		return SimpleJson.DEFAULT.toString(this);
+		return SimpleJson.of(this);
 	}
 }
\ No newline at end of file
diff --git a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
index 17586bbe1..0ea127fc2 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
@@ -88,7 +88,7 @@ public class BeanConfigAnnotation_Test {
 	public static class A1 {
 		public int foo;
 		@Override
-		public String toString() {return SimpleJson.DEFAULT.toString(this);}
+		public String toString() {return SimpleJson.of(this);}
 	}
 	@Bean(typeName="A2")
 	public static class A2 {
diff --git a/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java b/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
index 154c9a8f6..64e0b51f9 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/annotation/Bean_Test.java
@@ -45,10 +45,10 @@ public class Bean_Test {
 
 	@Test
 	public void testBeanAnnotationOverridesPrivate() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(A1.create());
+		String json = SimpleJson.of(A1.create());
 		assertEquals("{f1:1}", json);
 		A1 a = SimpleJson.DEFAULT.read(json, A1.class);
-		json = SimpleJson.DEFAULT.toString(a);
+		json = SimpleJson.of(a);
 		assertEquals("{f1:1}", json);
 	}
 
@@ -116,10 +116,10 @@ public class Bean_Test {
 
 	@Test
 	public void testBeanxAnnotationOverridesPrivate() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(B1.create());
+		String json = SimpleJson.of(B1.create());
 		assertEquals("{f1:1,f2:2}", json);
 		B1 b = SimpleJson.DEFAULT.read(json, B1.class);
-		json = SimpleJson.DEFAULT.toString(b);
+		json = SimpleJson.of(b);
 		assertEquals("{f1:1,f2:2}", json);
 	}
 
@@ -209,19 +209,19 @@ public class Bean_Test {
 
 	@Test
 	public void d01_beanPropertiesExcludePropertiesCombined_noBeanConfig() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(D1.create());
+		String json = SimpleJson.of(D1.create());
 		assertEquals("{a:1,c:3}", json);
 		D1 x = SimpleJson.DEFAULT.read(json, D1.class);
-		json = SimpleJson.DEFAULT.toString(x);
+		json = SimpleJson.of(x);
 		assertEquals("{a:1,c:3}", json);
 	}
 
 	@Test
 	public void d02_beanPXpCombined_noBeanConfig() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(D2.create());
+		String json = SimpleJson.of(D2.create());
 		assertEquals("{a:1,c:3}", json);
 		D2 x = SimpleJson.DEFAULT.read(json, D2.class);
-		json = SimpleJson.DEFAULT.toString(x);
+		json = SimpleJson.of(x);
 		assertEquals("{a:1,c:3}", json);
 	}
 
@@ -326,19 +326,19 @@ public class Bean_Test {
 
 	@Test
 	public void e01_beanPropertiesExcludePropertiesCombined_multipleBeanAnnotations_noBeanConfig() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(E1.create());
+		String json = SimpleJson.of(E1.create());
 		assertEquals("{a:1,c:3}", json);
 		E1 e = SimpleJson.DEFAULT.read(json, E1.class);
-		json = SimpleJson.DEFAULT.toString(e);
+		json = SimpleJson.of(e);
 		assertEquals("{a:1,c:3}", json);
 	}
 
 	@Test
 	public void e02_beanPXpCombined_multipleBeanAnnotations_noBeanConfig() throws Exception {
-		String json = SimpleJson.DEFAULT.toString(E2.create());
+		String json = SimpleJson.of(E2.create());
 		assertEquals("{a:1,c:3}", json);
 		E2 e = SimpleJson.DEFAULT.read(json, E2.class);
-		json = SimpleJson.DEFAULT.toString(e);
+		json = SimpleJson.of(e);
 		assertEquals("{a:1,c:3}", json);
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ContentAnnotation_Test.java b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ContentAnnotation_Test.java
index eec448ebb..20733526f 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ContentAnnotation_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ContentAnnotation_Test.java
@@ -55,7 +55,7 @@ public class Remote_ContentAnnotation_Test {
 
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
@@ -176,25 +176,25 @@ public class Remote_ContentAnnotation_Test {
 		@RestPost
 		public String x3(@Content Bean b, @Header("Content-Type") String ct) {
 			assertEquals("text/openapi",ct);
-			return SimpleJson.DEFAULT.toString(b);
+			return SimpleJson.of(b);
 		}
 
 		@RestPost
 		public Object x4(@Content Bean[] b, @Header("Content-Type") String ct) {
 			assertEquals("text/openapi",ct);
-			return SimpleJson.DEFAULT.toString(b);
+			return SimpleJson.of(b);
 		}
 
 		@RestPost
 		public Object x5(@Content List<Bean> b, @Header("Content-Type") String ct) {
 			assertEquals("text/openapi",ct);
-			return SimpleJson.DEFAULT.toString(b);
+			return SimpleJson.of(b);
 		}
 
 		@RestPost
 		public Object x6(@Content Map<String,Bean> b, @Header("Content-Type") String ct) {
 			assertEquals("text/openapi",ct);
-			return SimpleJson.DEFAULT.toString(b);
+			return SimpleJson.of(b);
 		}
 
 		@RestPost
diff --git a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ResponseAnnotation_Test.java b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ResponseAnnotation_Test.java
index 09ebde124..e5a3bdeda 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ResponseAnnotation_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_ResponseAnnotation_Test.java
@@ -40,7 +40,7 @@ public class Remote_ResponseAnnotation_Test {
 		}
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
index 230f0316e..2d94b1a92 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
@@ -580,9 +580,9 @@ public class Remote_Test {
 	@Test
 	public void f01_headers() throws Exception {
 		F1a x = client(F.class).header("Check","Foo").build().getRemote(F1a.class);
-		assertEquals("['bar','baz','qux']",SimpleJson.DEFAULT.toString(x.getHeaders()));
+		assertEquals("['bar','baz','qux']",SimpleJson.of(x.getHeaders()));
 		x = client(F.class).header("Check","Client-Version").build().getRemote(F1a.class);
-		assertEquals("['1.2.3']",SimpleJson.DEFAULT.toString(x.getHeaders()));
+		assertEquals("['1.2.3']",SimpleJson.of(x.getHeaders()));
 	}
 
 	@Remote(headerList=F2b.class)
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Csv_Test.java
similarity index 57%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/Csv_Test.java
index f0420481d..c51de8d6e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Csv_Test.java
@@ -10,74 +10,50 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class Csv_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = new Object[]{JsonMap.of("a","foo","b","bar")};
+		String expected1="value\nfoo\n", expected2 = "a,b\nfoo,bar\n";
+
+		assertString(Csv.of(in1)).is(expected1);
+		assertString(Csv.of(in1,stringWriter())).is(expected1);
+		assertString(Csv.of(in2)).is(expected2);
+		assertString(Csv.of(in2,stringWriter())).is(expected2);
 	}
 
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
-	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
-
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+	public void a02_from() throws Exception {
+		String in1 = "'foo'", in2 = "{foo:'bar'}";
+		//String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertThrown(()->Csv.to(in1, String.class)).asMessage().is("Not implemented.");
+		assertThrown(()->assertString(Csv.to(stringReader(in1), String.class))).asMessage().is("Not implemented.");
+		assertThrown(()->assertObject(Csv.to(in2, Map.class, String.class, String.class))).asMessage().is("Not implemented.");
+		assertThrown(()->assertObject(Csv.to(stringReader(in2), Map.class, String.class, String.class))).asMessage().is("Not implemented.");
 	}
-
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
-}
+}
\ No newline at end of file
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/NTripleTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Html_Test.java
similarity index 57%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/NTripleTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/Html_Test.java
index 0a93b0396..62e4c7f34 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/NTripleTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Html_Test.java
@@ -13,40 +13,48 @@
 package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class NTripleTest {
-
-	CharMarshall m = NTriple.DEFAULT;
-
-	String r = "_:xxx <http://www.apache.org/juneau/value> \"foo\" .";
+public class Html_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertString(m.write("foo")).isContains("<http://www.apache.org/juneau/value> \"foo\"");
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "<string>foo</string>", expected2 = "<table><tr><td>foo</td><td>bar</td></tr></table>";
+
+		assertString(Html.of(in1)).is(expected1);
+		assertString(Html.of(in1,stringWriter())).is(expected1);
+		assertString(Html.of(in2)).is(expected2);
+		assertString(Html.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertString(sw.toString()).isContains("<http://www.apache.org/juneau/value> \"foo\"");
+	public void a02_from() throws Exception {
+		String in1 = "<string>foo</string>", in2 = "<table><tr><td>foo</td><td>bar</td></tr></table>";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(Html.to(in1, String.class)).is(expected1);
+		assertString(Html.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(Html.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(Html.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertString(m.toString("foo")).isContains("<http://www.apache.org/juneau/value> \"foo\"");
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	private Writer stringWriter() {
+		return new StringWriter();
 	}
 
-	@Test
-	public void read1() throws Exception {
-		String s = m.read(r, String.class);
-		assertEquals("foo", s);
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/JsonTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/JsonTest.java
deleted file mode 100644
index cf93c7d58..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/JsonTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.junit.Assert.*;
-import static org.junit.runners.MethodSorters.*;
-import static org.apache.juneau.assertions.Assertions.*;
-import java.io.*;
-import java.util.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class JsonTest {
-
-	CharMarshall m = Json.DEFAULT;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals("\"foo\"", m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("\"foo\"", sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("\"foo\"", m.toString("foo"));
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("'foo'", String.class);
-		assertEquals("foo", s);
-	}
-
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("{foo:'bar'}", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/UonTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Json_Test.java
similarity index 58%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/UonTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/Json_Test.java
index 430146005..2c2a1df30 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/UonTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Json_Test.java
@@ -12,46 +12,48 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.marshall;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
 import static org.junit.runners.MethodSorters.*;
-
+import static org.apache.juneau.assertions.Assertions.*;
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class UonTest {
-
-	CharMarshall m = Uon.DEFAULT;
+public class Json_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertEquals("foo", m.write("foo"));
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "\"foo\"", expected2 = "{\"foo\":\"bar\"}";
+
+		assertString(Json.of(in1)).is(expected1);
+		assertString(Json.of(in1,stringWriter())).is(expected1);
+		assertString(Json.of(in2)).is(expected2);
+		assertString(Json.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("foo", sw.toString());
+	public void a02_from() throws Exception {
+		String in1 = "\"foo\"", in2 = "{\"foo\":\"bar\"}";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(Json.to(in1, String.class)).is(expected1);
+		assertString(Json.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(Json.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(Json.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("foo", m.toString("foo"));
-	}
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
 
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("foo", String.class);
-		assertEquals("foo", s);
+	private Writer stringWriter() {
+		return new StringWriter();
 	}
 
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("(foo=bar)", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/PlainTextTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Marshall_Test.java
similarity index 70%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/PlainTextTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/Marshall_Test.java
index e82e2b3ec..7ef643184 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/PlainTextTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Marshall_Test.java
@@ -12,38 +12,16 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.marshall;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
+import static org.apache.juneau.assertions.Assertions.*;
 
 import org.junit.*;
 
-@FixMethodOrder(NAME_ASCENDING)
-public class PlainTextTest {
-
-	CharMarshall m = PlainText.DEFAULT;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals("foo", m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("foo", sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("foo", m.toString("foo"));
-	}
+public class Marshall_Test {
 
 	@Test
-	public void read1() throws Exception {
-		String s = m.read("foo", String.class);
-		assertEquals("foo", s);
+	public void basic() {
+		Marshall m = SimpleJson.DEFAULT;
+		assertObject(m.getParser()).isNotNull();
+		assertObject(m.getSerializer()).isNotNull();
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPack_Test.java
similarity index 57%
copy from juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPack_Test.java
index 6a2ff74d6..8f5c75a7f 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPack_Test.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.marshall;
 
-import static org.junit.Assert.assertEquals;
 import static org.junit.runners.MethodSorters.*;
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.internal.StringUtils.*;
@@ -20,38 +19,43 @@ import static org.apache.juneau.internal.StringUtils.*;
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class MsgPackTest {
-
-	StreamMarshall m = MsgPack.DEFAULT;
+public class MsgPack_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertEquals("A3 66 6F 6F", toSpacedHex(m.write("foo")));
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "A3666F6F", expected2 = "81A3666F6FA3626172";
+
+		assertBytes(MsgPack.of(in1)).asHex().is(expected1);
+		assertBytes(bytes(MsgPack.of(in1,baos()))).asHex().is(expected1);
+		assertBytes(MsgPack.of(in2)).asHex().is(expected2);
+		assertBytes(bytes(MsgPack.of(in2,baos()))).asHex().is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		m.write("foo", baos);
-		assertEquals("A3 66 6F 6F", toSpacedHex(baos.toByteArray()));
+	public void a02_from() throws Exception {
+		String in1 = "A3666F6F", in2 = "81A3666F6FA3626172";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(MsgPack.to(in1, String.class)).is(expected1);
+		assertString(MsgPack.to(fromHex(in1), String.class)).is(expected1);
+		assertObject(MsgPack.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(MsgPack.to(fromHex(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("A3666F6F", m.toString("foo"));
-	}
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
 
-	@Test
-	public void read1() throws Exception {
-		assertEquals("foo", m.read(fromHex("A3666F6F"), String.class));
+	private OutputStream baos() {
+		return new ByteArrayOutputStream();
 	}
 
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read(fromHex("81A3666F6FA3626172"), Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
+	private byte[] bytes(Object o) {
+		return ((ByteArrayOutputStream)o).toByteArray();
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/N3_Test.java
similarity index 51%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/N3_Test.java
index f0420481d..f6283de72 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/N3_Test.java
@@ -10,74 +10,69 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class N3_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
+	private static String EOL = System.getProperty("line.separator");
+
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String
+			expected1 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    j:value \"foo\" ." + EOL,
+			expected2 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    jp:foo  \"bar\" ." + EOL;
 
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+		assertString(N3.of(in1)).is(expected1);
+		assertString(N3.of(in1,stringWriter())).is(expected1);
+		assertString(N3.of(in2)).is(expected2);
+		assertString(N3.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
+	public void a02_from() throws Exception {
+		String
+			in1 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    j:value \"foo\" ." + EOL,
+			in2 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    jp:foo  \"bar\" ." + EOL;
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
 
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
-
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+		assertString(N3.to(in1, String.class)).is(expected1);
+		assertString(N3.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(N3.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(N3.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/NTriple_Test.java
similarity index 56%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/NTriple_Test.java
index f0420481d..4804409e0 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/NTriple_Test.java
@@ -10,74 +10,55 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class NTriple_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String
+			expected1 = "<http://www.apache.org/juneau/value> \"foo\"^^<http://www.w3.org/2001/XMLSchema#string> .",
+			expected2 = "<http://www.apache.org/juneaubp/foo> \"bar\"^^<http://www.w3.org/2001/XMLSchema#string> .";
 
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+		assertString(NTriple.of(in1)).isContains(expected1);
+		assertString(NTriple.of(in1,stringWriter())).isContains(expected1);
+		assertString(NTriple.of(in2)).isContains(expected2);
+		assertString(NTriple.of(in2,stringWriter())).isContains(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
+	public void a02_from() throws Exception {
+		String
+			in1 = "_:xxx <http://www.apache.org/juneau/value> \"foo\"^^<http://www.w3.org/2001/XMLSchema#string> .",
+			in2 = "_:xxx <http://www.apache.org/juneaubp/foo> \"bar\"^^<http://www.w3.org/2001/XMLSchema#string> .";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
 
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+		assertString(NTriple.to(in1, String.class)).is(expected1);
+		assertString(NTriple.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(NTriple.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(NTriple.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/HtmlTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/OpenApi_Test.java
similarity index 58%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/HtmlTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/OpenApi_Test.java
index f830737c7..0a48a145c 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/HtmlTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/OpenApi_Test.java
@@ -13,45 +13,50 @@
 package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class HtmlTest {
-
-	CharMarshall m = Html.DEFAULT;
+public class OpenApi_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertEquals("<string>foo</string>", m.write("foo"));
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "foo", expected2 = "foo=bar";
+
+		assertString(OpenApi.of(in1)).is(expected1);
+		assertString(OpenApi.of(in1,stringWriter())).is(expected1);
+		assertString(OpenApi.of(in2)).is(expected2);
+		assertString(OpenApi.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("<string>foo</string>", sw.toString());
+	public void a02_from() throws Exception {
+		String in1 = "foo", in2 = "foo=bar";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(OpenApi.to(in1, String.class)).is(expected1);
+		assertString(OpenApi.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(OpenApi.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(OpenApi.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("<string>foo</string>", m.toString("foo"));
-	}
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
 
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("<string>foo</string>", String.class);
-		assertEquals("foo", s);
+	private Writer stringWriter() {
+		return new StringWriter();
 	}
 
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("<table><tr><td>foo</td><td>bar</td></tr></table>", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
+
+
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJsonTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/PlainText_Test.java
similarity index 57%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJsonTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/PlainText_Test.java
index 60618255c..6df78889e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJsonTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/PlainText_Test.java
@@ -13,45 +13,48 @@
 package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class SimpleJsonTest {
-
-	CharMarshall m = SimpleJson.DEFAULT;
+public class PlainText_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertEquals("'foo'", m.write("foo"));
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(PlainText.of(in1)).is(expected1);
+		assertString(PlainText.of(in1,stringWriter())).is(expected1);
+		assertString(PlainText.of(in2)).is(expected2);
+		assertString(PlainText.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("'foo'", sw.toString());
+	public void a02_from() throws Exception {
+		String in1 = "foo", in2 = "{foo:'bar'}";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(PlainText.to(in1, String.class)).is(expected1);
+		assertString(PlainText.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(PlainText.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(PlainText.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("'foo'", m.toString("foo"));
-	}
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
 
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("'foo'", String.class);
-		assertEquals("foo", s);
+	private Writer stringWriter() {
+		return new StringWriter();
 	}
 
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("{foo:'bar'}", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrevTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrevTest.java
deleted file mode 100644
index 9be1b2ace..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrevTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class RdfXmlAbbrevTest {
-
-	CharMarshall m = RdfXmlAbbrev.DEFAULT;
-
-	String r = ""
-		+ "<rdf:RDF"
-		+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
-		+ "    xmlns:j=\"http://www.apache.org/juneau/\""
-		+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\">"
-		+ "<rdf:Description>"
-		+ "<j:value>foo</j:value>"
-		+ "</rdf:Description>"
-		+ "</rdf:RDF>";
-
-	@Test
-	public void write1() throws Exception {
-		assertString(m.write("foo")).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertString(sw.toString()).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertString(m.toString("foo")).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read(r, String.class);
-		assertEquals("foo", s);
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrev_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrev_Test.java
new file mode 100644
index 000000000..c4c442a87
--- /dev/null
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlAbbrev_Test.java
@@ -0,0 +1,95 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                                                              *
+// *                                                                                                                         *
+// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
+// *                                                                                                                         *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the License.                                              *
+// ***************************************************************************************************************************
+package org.apache.juneau.marshall;
+
+import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.runners.MethodSorters.*;
+
+import java.io.*;
+import java.util.*;
+
+import org.apache.juneau.collections.*;
+import org.junit.*;
+
+@FixMethodOrder(NAME_ASCENDING)
+public class RdfXmlAbbrev_Test {
+
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String
+			expected1 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\">\n"
+				+ "<rdf:Description>\n"
+				+ "<j:value>foo</j:value>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n",
+			expected2 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\">\n"
+				+ "<rdf:Description>\n"
+				+ "<jp:foo>bar</jp:foo>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n";
+		assertString(RdfXmlAbbrev.of(in1)).is(expected1);
+		assertString(RdfXmlAbbrev.of(in1,stringWriter())).is(expected1);
+		assertString(RdfXmlAbbrev.of(in2)).is(expected2);
+		assertString(RdfXmlAbbrev.of(in2,stringWriter())).is(expected2);
+	}
+
+	@Test
+	public void a02_from() throws Exception {
+		String
+			in1 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\">\n"
+				+ "<rdf:Description>\n"
+				+ "<j:value>foo</j:value>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n",
+			in2 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\">\n"
+				+ "<rdf:Description>\n"
+				+ "<jp:foo>bar</jp:foo>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(RdfXmlAbbrev.to(in1, String.class)).is(expected1);
+		assertString(RdfXmlAbbrev.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(RdfXmlAbbrev.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(RdfXmlAbbrev.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
+	}
+}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlTest.java
deleted file mode 100644
index 8befa4deb..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXmlTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class RdfXmlTest {
-
-	CharMarshall m = RdfXml.DEFAULT;
-
-	String r = ""
-		+ "<rdf:RDF"
-		+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
-		+ "    xmlns:j=\"http://www.apache.org/juneau/\""
-		+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\" > "
-		+ "<rdf:Description rdf:nodeID=\"A0\">"
-		+ "<j:value>foo</j:value>"
-		+ "</rdf:Description>"
-		+ "</rdf:RDF>";
-
-	@Test
-	public void write1() throws Exception {
-		assertString(m.write("foo")).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertString(sw.toString()).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertString(m.toString("foo")).isContains("<j:value>foo</j:value>");
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read(r, String.class);
-		assertEquals("foo", s);
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXml_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXml_Test.java
new file mode 100644
index 000000000..cc1a6dbac
--- /dev/null
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/RdfXml_Test.java
@@ -0,0 +1,95 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                                                              *
+// *                                                                                                                         *
+// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
+// *                                                                                                                         *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the License.                                              *
+// ***************************************************************************************************************************
+package org.apache.juneau.marshall;
+
+import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.runners.MethodSorters.*;
+
+import java.io.*;
+import java.util.*;
+
+import org.apache.juneau.collections.*;
+import org.junit.*;
+
+@FixMethodOrder(NAME_ASCENDING)
+public class RdfXml_Test {
+
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String
+			expected1 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\" > \n"
+				+ "<rdf:Description rdf:nodeID=\"A0\">\n"
+				+ "<j:value>foo</j:value>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n",
+			expected2 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\" > \n"
+				+ "<rdf:Description rdf:nodeID=\"A0\">\n"
+				+ "<jp:foo>bar</jp:foo>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n";
+		assertString(RdfXml.of(in1)).is(expected1);
+		assertString(RdfXml.of(in1,stringWriter())).is(expected1);
+		assertString(RdfXml.of(in2)).is(expected2);
+		assertString(RdfXml.of(in2,stringWriter())).is(expected2);
+	}
+
+	@Test
+	public void a02_from() throws Exception {
+		String
+			in1 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\" > \n"
+				+ "<rdf:Description rdf:nodeID=\"A0\">\n"
+				+ "<j:value>foo</j:value>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n",
+			in2 = ""
+				+ "<rdf:RDF\n"
+				+ "    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n"
+				+ "    xmlns:j=\"http://www.apache.org/juneau/\"\n"
+				+ "    xmlns:jp=\"http://www.apache.org/juneaubp/\" > \n"
+				+ "<rdf:Description rdf:nodeID=\"A0\">\n"
+				+ "<jp:foo>bar</jp:foo>\n"
+				+ "</rdf:Description>\n"
+				+ "</rdf:RDF>\n";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(RdfXml.to(in1, String.class)).is(expected1);
+		assertString(RdfXml.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(RdfXml.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(RdfXml.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
+	}
+
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
+
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
+	}
+}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJson_Test.java
similarity index 57%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJson_Test.java
index f0420481d..57ce43f9c 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/SimpleJson_Test.java
@@ -10,74 +10,51 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class SimpleJson_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
-
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "'foo'", expected2 = "{foo:'bar'}";
+
+		assertString(SimpleJson.of(in1)).is(expected1);
+		assertString(SimpleJson.of(in1,stringWriter())).is(expected1);
+		assertString(SimpleJson.of(in2)).is(expected2);
+		assertString(SimpleJson.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
-
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+	public void a02_from() throws Exception {
+		String in1 = "'foo'", in2 = "{foo:'bar'}";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(SimpleJson.to(in1, String.class)).is(expected1);
+		assertString(SimpleJson.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(SimpleJson.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(SimpleJson.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/TurtleTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/TurtleTest.java
deleted file mode 100644
index a8b36aedf..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/TurtleTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class TurtleTest {
-
-	private static String EOL = System.getProperty("line.separator");
-
-	CharMarshall m = Turtle.DEFAULT;
-
-	String r = ""
-		+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
-		+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL
-		+ EOL
-		+ "[]    j:value \"foo\" ." + EOL;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals(r, m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals(r, sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals(r, m.toString("foo"));
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read(r, String.class);
-		assertEquals("foo", s);
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Turtle_Test.java
similarity index 51%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/Turtle_Test.java
index f0420481d..15e368551 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Turtle_Test.java
@@ -10,74 +10,68 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class Turtle_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
+	private static String EOL = System.getProperty("line.separator");
 
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String
+			expected1 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    j:value \"foo\" ." + EOL,
+			expected2 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    jp:foo  \"bar\" ." + EOL;
+		assertString(Turtle.of(in1)).is(expected1);
+		assertString(Turtle.of(in1,stringWriter())).is(expected1);
+		assertString(Turtle.of(in2)).is(expected2);
+		assertString(Turtle.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
+	public void a02_from() throws Exception {
+		String
+			in1 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    j:value \"foo\" ." + EOL,
+			in2 = ""
+				+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
+				+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL + EOL
+				+ "[]    jp:foo  \"bar\" ." + EOL;
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
 
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+		assertString(Turtle.to(in1, String.class)).is(expected1);
+		assertString(Turtle.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(Turtle.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(Turtle.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Uon_Test.java
similarity index 58%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java
rename to juneau-utest/src/test/java/org/apache/juneau/marshall/Uon_Test.java
index 6a2ff74d6..cf2f34c97 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/MsgPackTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Uon_Test.java
@@ -12,46 +12,51 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.marshall;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.apache.juneau.internal.StringUtils.*;
+import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
 import java.util.*;
 
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class MsgPackTest {
-
-	StreamMarshall m = MsgPack.DEFAULT;
+public class Uon_Test {
 
 	@Test
-	public void write1() throws Exception {
-		assertEquals("A3 66 6F 6F", toSpacedHex(m.write("foo")));
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "foo", expected2 = "(foo=bar)";
+
+		assertString(Uon.of(in1)).is(expected1);
+		assertString(Uon.of(in1,stringWriter())).is(expected1);
+		assertString(Uon.of(in2)).is(expected2);
+		assertString(Uon.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void write2() throws Exception {
-		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-		m.write("foo", baos);
-		assertEquals("A3 66 6F 6F", toSpacedHex(baos.toByteArray()));
+	public void a02_from() throws Exception {
+		String in1 = "foo", in2 = "(foo=bar)";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(Uon.to(in1, String.class)).is(expected1);
+		assertString(Uon.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(Uon.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(Uon.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("A3666F6F", m.toString("foo"));
-	}
+	//-----------------------------------------------------------------------------------------------------------------
+	// Helper methods
+	//-----------------------------------------------------------------------------------------------------------------
 
-	@Test
-	public void read1() throws Exception {
-		assertEquals("foo", m.read(fromHex("A3666F6F"), String.class));
+	private Writer stringWriter() {
+		return new StringWriter();
 	}
 
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read(fromHex("81A3666F6FA3626172"), Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
+
+
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncodingTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncodingTest.java
deleted file mode 100644
index 1d36b9452..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncodingTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
-import java.util.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class UrlEncodingTest {
-
-	CharMarshall m = UrlEncoding.DEFAULT;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals("_value=foo", m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("_value=foo", sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("_value=foo", m.toString("foo"));
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("_value=foo", String.class);
-		assertEquals("foo", s);
-	}
-
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("foo=bar", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncoding_Test.java
similarity index 57%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncoding_Test.java
index f0420481d..dcbff2c04 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/UrlEncoding_Test.java
@@ -10,74 +10,52 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class UrlEncoding_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
-
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "_value=foo", expected2 = "foo=bar";
+
+		assertString(UrlEncoding.of(in1)).is(expected1);
+		assertString(UrlEncoding.of(in1,stringWriter())).is(expected1);
+		assertString(UrlEncoding.of(in2)).is(expected2);
+		assertString(UrlEncoding.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
-
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+	public void a02_from() throws Exception {
+		String in1 = "_value=foo", in2 = "foo=bar";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(UrlEncoding.to(in1, String.class)).is(expected1);
+		assertString(UrlEncoding.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(UrlEncoding.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(UrlEncoding.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
+
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/XmlTest.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/XmlTest.java
deleted file mode 100644
index dbadb551b..000000000
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/XmlTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                                                              *
-// *                                                                                                                         *
-// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
-// *                                                                                                                         *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the License.                                              *
-// ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
-import java.util.*;
-
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class XmlTest {
-
-	CharMarshall m = Xml.DEFAULT;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals("<string>foo</string>", m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals("<string>foo</string>", sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals("<string>foo</string>", m.toString("foo"));
-	}
-
-	@Test
-	public void read1() throws Exception {
-		String s = m.read("<string>foo</string>", String.class);
-		assertEquals("foo", s);
-	}
-
-	@Test
-	public void read2() throws Exception {
-		Map<?,?> o = m.read("<object><foo>bar</foo></object>", Map.class, String.class, String.class);
-		assertObject(o).asJson().is("{foo:'bar'}");
-	}
-}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/marshall/Xml_Test.java
similarity index 57%
copy from juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
copy to juneau-utest/src/test/java/org/apache/juneau/marshall/Xml_Test.java
index f0420481d..cfa41856f 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/marshall/Xml_Test.java
@@ -10,74 +10,52 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.rest.client;
+package org.apache.juneau.marshall;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.io.*;
+import java.util.*;
 
-import org.apache.http.entity.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.mock.*;
-import org.apache.juneau.rest.servlet.*;
+import org.apache.juneau.collections.*;
 import org.junit.*;
 
 @FixMethodOrder(NAME_ASCENDING)
-public class RestCallException_Test {
+public class Xml_Test {
 
-	public static class ABean {
-		public int f;
-		static ABean get() {
-			ABean x = new ABean();
-			x.f = 1;
-			return x;
-		}
-		@Override
-		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
-		}
-	}
-
-	@Rest
-	public static class A extends BasicRestObject {
-		@RestPost
-		public InputStream echo(InputStream is) {
-			return is;
-		}
+	@Test
+	public void a01_to() throws Exception {
+		Object in1 = "foo", in2 = JsonMap.of("foo", "bar");
+		String expected1 = "<string>foo</string>", expected2 = "<object><foo>bar</foo></object>";
+
+		assertString(Xml.of(in1)).is(expected1);
+		assertString(Xml.of(in1,stringWriter())).is(expected1);
+		assertString(Xml.of(in2)).is(expected2);
+		assertString(Xml.of(in2,stringWriter())).is(expected2);
 	}
 
 	@Test
-	public void a01_basic() throws Exception {
-		try {
-			client().build().get().run();
-			fail();
-		} catch (RestCallException e) {
-			assertInteger(e.getResponse().getStatusCode()).is(404);
-			assertNull(e.getCause());
-		}
-
-		try {
-			client().build().post("/echo",new StringEntity("{f:")).run().getContent().as(ABean.class);
-			fail();
-		} catch (RestCallException e) {
-			assertThrowable(e.getCause(ParseException.class)).asMessage().isContains("Could not find '}'");
-		}
-
-		RestCallException e = new RestCallException(null, null, null);
-		assertNotNull(e.getThrown());
-		assertFalse(e.getThrown().isPresent());
-		assertEquals(0, e.getResponseCode());
+	public void a02_from() throws Exception {
+		String in1 = "<string>foo</string>", in2 = "<object><foo>bar</foo></object>";
+		String expected1 = "foo", expected2 = "{foo:'bar'}";
+
+		assertString(Xml.to(in1, String.class)).is(expected1);
+		assertString(Xml.to(stringReader(in1), String.class)).is(expected1);
+		assertObject(Xml.to(in2, Map.class, String.class, String.class)).asJson().is(expected2);
+		assertObject(Xml.to(stringReader(in2), Map.class, String.class, String.class)).asJson().is(expected2);
 	}
 
 	//-----------------------------------------------------------------------------------------------------------------
-	// Helper methods.
+	// Helper methods
 	//-----------------------------------------------------------------------------------------------------------------
 
-	private static RestClient.Builder client() {
-		return MockRestClient.create(A.class).simpleJson().noTrace();
+	private Writer stringWriter() {
+		return new StringWriter();
+	}
+
+	private Reader stringReader(String s) {
+		return new StringReader(s);
 	}
+
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Content_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Content_Test.java
index ee16fecef..48b40665b 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Content_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Content_Test.java
@@ -974,7 +974,7 @@ public class Content_Test {
 			.assertCode().is(200)
 			.assertContent().is("null");
 
-		String body1 = SimpleJson.DEFAULT.toString(list(ABean.get()));
+		String body1 = SimpleJson.of(list(ABean.get()));
 		j.post("/c", body1, APPLICATION_JSON)
 			.run()
 			.assertCode().is(200)
@@ -984,7 +984,7 @@ public class Content_Test {
 			.assertCode().is(200)
 			.assertContent().is("null");
 
-		String body2 = SimpleJson.DEFAULT.toString(list(optional(ABean.get())));
+		String body2 = SimpleJson.of(list(optional(ABean.get())));
 		j.post("/d", body2, APPLICATION_JSON)
 			.run()
 			.assertCode().is(200)
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
index f0420481d..00dbaae2d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
@@ -38,7 +38,7 @@ public class RestCallException_Test {
 		}
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
index 702bb719f..f033bd10e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
@@ -51,7 +51,7 @@ public class RestClient_BasicCalls_Test {
 		}
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
index e0fb2ffa9..d0efeed2e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
@@ -58,7 +58,7 @@ public class RestClient_Config_RestClient_Test {
 		}
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
@@ -448,7 +448,7 @@ public class RestClient_Config_RestClient_Test {
 
 	public static class A12a extends MockWriterSerializer {
 		public A12a(Builder builder) {
-			super(builder.partFunction((t,s,o)->"x" + SimpleJson.DEFAULT.toString(o)));
+			super(builder.partFunction((t,s,o)->"x" + SimpleJson.of(o)));
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
index 2e980fc63..8128ea2f2 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
@@ -55,7 +55,7 @@ public class RestClient_Headers_Test {
 		}
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Marshalls_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Marshalls_Test.java
index 894d02e5b..a9e21715d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Marshalls_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Marshalls_Test.java
@@ -44,7 +44,7 @@ public class RestClient_Marshalls_Test {
 
 		@Override
 		public String toString() {
-			return SimpleJson.DEFAULT.toString(this);
+			return SimpleJson.of(this);
 		}
 	}
 
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/helper/ResourceDescription_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/helper/ResourceDescription_Test.java
index ff853b667..ac24745d1 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/helper/ResourceDescription_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/helper/ResourceDescription_Test.java
@@ -25,7 +25,7 @@ public class ResourceDescription_Test {
 	@Test
 	public void a01_basic() throws Exception {
 		ResourceDescription rd = new ResourceDescription("a","b?c=d&e=f","g");
-		assertEquals("<table><tr><td>name</td><td><a href=\"/b?c=d&amp;e=f\">a</a></td></tr><tr><td>description</td><td>g</td></tr></table>", Html.DEFAULT.toString(rd));
-		assertEquals("{name:'a',description:'g'}", SimpleJson.DEFAULT.toString(rd));
+		assertEquals("<table><tr><td>name</td><td><a href=\"/b?c=d&amp;e=f\">a</a></td></tr><tr><td>description</td><td>g</td></tr></table>", Html.of(rd));
+		assertEquals("{name:'a',description:'g'}", SimpleJson.of(rd));
 	}
 }
diff --git a/juneau-utest/src/test/java/org/apache/juneau/transforms/StackTraceElementSwapTest.java b/juneau-utest/src/test/java/org/apache/juneau/transforms/StackTraceElementSwapTest.java
index 67c0388ff..2d26b6daa 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/transforms/StackTraceElementSwapTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/transforms/StackTraceElementSwapTest.java
@@ -25,7 +25,7 @@ import org.junit.*;
 public class StackTraceElementSwapTest {
 
 	private String write(StackTraceElement ste) {
-		return SimpleJson.DEFAULT.toString(ste);
+		return SimpleJson.of(ste);
 	}
 
 	private StackTraceElement read(String in) throws Exception {
diff --git a/juneau-utest/src/test/java/org/apache/juneau/marshall/N3Test.java b/juneau-utest/src/test/java/org/apache/juneau/utils/Console_Test.java
similarity index 62%
rename from juneau-utest/src/test/java/org/apache/juneau/marshall/N3Test.java
rename to juneau-utest/src/test/java/org/apache/juneau/utils/Console_Test.java
index b409632a5..dd892b747 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/marshall/N3Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/Console_Test.java
@@ -10,48 +10,15 @@
 // * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 // * specific language governing permissions and limitations under the License.                                              *
 // ***************************************************************************************************************************
-package org.apache.juneau.marshall;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.runners.MethodSorters.*;
-
-import java.io.*;
+package org.apache.juneau.utils;
 
 import org.junit.*;
 
-@FixMethodOrder(NAME_ASCENDING)
-public class N3Test {
-
-	private static String EOL = System.getProperty("line.separator");
-
-	CharMarshall m = N3.DEFAULT;
-
-	String r = ""
-		+ "@prefix jp:      <http://www.apache.org/juneaubp/> ." + EOL
-		+ "@prefix j:       <http://www.apache.org/juneau/> ." + EOL
-		+ EOL
-		+ "[]    j:value \"foo\" ." + EOL;
-
-	@Test
-	public void write1() throws Exception {
-		assertEquals(r, m.write("foo"));
-	}
-
-	@Test
-	public void write2() throws Exception {
-		StringWriter sw = new StringWriter();
-		m.write("foo", sw);
-		assertEquals(r, sw.toString());
-	}
-
-	@Test
-	public void toString1() throws Exception {
-		assertEquals(r, m.toString("foo"));
-	}
+public class Console_Test {
 
 	@Test
-	public void read1() throws Exception {
-		String s = m.read(r, String.class);
-		assertEquals("foo", s);
+	public void basic() throws Exception {
+		Console.out("test{0}",1);
+		Console.err("test{0}",2);
 	}
 }
diff --git a/pom.xml b/pom.xml
index cc2cbdf2d..378ac9122 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,8 +44,8 @@
 		<httpclient.version>4.5.13</httpclient.version>
 		<jetty.version>9.4.13.v20181111</jetty.version>
 		<juneau.compare.version>8.0.0</juneau.compare.version>
-		<javadoc.juneau.version>9.0-B1</javadoc.juneau.version>
-		<juneauVersion>9.0-B1</juneauVersion>
+		<javadoc.juneau.version>9.0.0</javadoc.juneau.version>
+		<juneauVersion>9.0.0</juneauVersion>
 		<juneauVersionNext>9.0.1</juneauVersionNext>
 		<derby.version>10.10.2.0</derby.version>
 		<hibernate.version>5.0.9.Final</hibernate.version>