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 2017/02/08 01:16:03 UTC

[5/7] incubator-juneau git commit: Eliminate ClassMeta dependencies from Parser. Clean up docs.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
index 3559590..d5c2b3f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -25,13 +25,13 @@ import org.apache.juneau.transform.*;
 /**
  * Serializes POJO models to JSON.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>application/json, text/json</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>application/json</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	The conversion is as follows...
  * 	<ul class='spaced-list'>
@@ -52,7 +52,7 @@ import org.apache.juneau.transform.*;
  * 	This serializer provides several serialization options.  Typically, one of the predefined DEFAULT serializers will be sufficient.
  * 	However, custom serializers can be constructed to fine-tune behavior.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>
@@ -69,7 +69,7 @@ import org.apache.juneau.transform.*;
  * 	<li>{@link SimpleReadable} - Default serializer, single quotes, simple mode, with whitespace.
  * </ul>
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Use one of the default serializers to serialize a POJO</jc>
  * 	String json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(someObject);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
index 8478384..c4a62cd 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerContext.java
@@ -60,11 +60,11 @@ import org.apache.juneau.serializer.*;
  * 	</tr>
  * </table>
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 		<li class='c'><a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties">SerializerContext</a> - Configurable properties common to all serializers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
index 59e622a..374cf94 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonWriter.java
@@ -20,7 +20,10 @@ import org.apache.juneau.serializer.*;
 /**
  * Specialized writer for serializing JSON.
  * <p>
- * 	<b>Note:  This class is not intended for external use.</b>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * 	<li>This class is not intended for external use.
+ * </ul>
  */
 public final class JsonWriter extends SerializerWriter {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/json/annotation/Json.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/annotation/Json.java b/juneau-core/src/main/java/org/apache/juneau/json/annotation/Json.java
index 6a32832..f8ee5d0 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/annotation/Json.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/annotation/Json.java
@@ -40,7 +40,7 @@ public @interface Json {
 	 * <p>
 	 * 	This annotation can be applied to beans as well as other objects serialized to other types (e.g. strings).
 	 *
-	 * <h6 class='topic'>Example:</h6>
+	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode'>
 	 * 	<ja>@Json</ja>(wrapperAttr=<js>"myWrapper"</js>)
 	 * 	<jk>public class</jk> MyBean {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
index 7835858..64fe9d9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackInputStream.java
@@ -21,7 +21,10 @@ import org.apache.juneau.internal.*;
 /**
  * Specialized input stream for parsing MessagePack streams.
  * <p>
- * 	<b>Note:  This class is not intended for external use.</b>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * 	<li>This class is not intended for external use.
+ * </ul>
  */
 public final class MsgPackInputStream extends InputStream {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
index 94d0c76..73673dd 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackOutputStream.java
@@ -21,7 +21,10 @@ import java.util.concurrent.atomic.*;
 /**
  * Specialized output stream for serializing MessagePack streams.
  * <p>
- * 	<b>Note:  This class is not intended for external use.</b>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * 	<li>This class is not intended for external use.
+ * </ul>
  */
 public final class MsgPackOutputStream extends OutputStream {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index 8ea0f4a..9113093 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -26,11 +26,11 @@ import org.apache.juneau.transform.*;
 /**
  * Parses a MessagePack stream into a POJO model.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Content-Type</code> types: <code>octal/msgpack</code>
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>
@@ -193,7 +193,6 @@ public final class MsgPackParser extends InputStreamParser {
 	@Override /* Parser */
 	protected <T> T doParse(ParserSession session, ClassMeta<T> type) throws Exception {
 		MsgPackParserSession s = (MsgPackParserSession)session;
-		type = s.normalizeClassMeta(type);
 		MsgPackInputStream is = s.getInputStream();
 		T o = parseAnything(s, type, is, s.getOuter(), null);
 		return o;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
index 0eda758..2e04978 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParserContext.java
@@ -38,11 +38,11 @@ import org.apache.juneau.parser.*;
  * <p>
  * 	None.
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 		<li class='c'><a class="doclink" href="../parser/ParserContext.html#ConfigProperties">ParserContext</a> - Configurable properties common to all parsers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index 4e4ed0d..4ab038b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -23,13 +23,13 @@ import org.apache.juneau.transform.*;
 /**
  * Serializes POJO models to MessagePack.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>octal/msgpack</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>octal/msgpack</code>
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
index 282d7ac..ced4439 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerContext.java
@@ -38,11 +38,11 @@ import org.apache.juneau.serializer.*;
  * <p>
  * 	None.
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 		<li class='c'><a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties">SerializerContext</a> - Configurable properties common to all serializers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/parser/InputStreamParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/InputStreamParser.java b/juneau-core/src/main/java/org/apache/juneau/parser/InputStreamParser.java
index 24de153..6abdeb5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/InputStreamParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/InputStreamParser.java
@@ -17,7 +17,7 @@ import org.apache.juneau.annotation.*;
 /**
  * Subclass of {@link Parser} for byte-based parsers.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This class is typically the parent class of all byte-based parsers.
  * 	It has 1 abstract method to implement...

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/parser/ParseException.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/ParseException.java b/juneau-core/src/main/java/org/apache/juneau/parser/ParseException.java
index f3180a7..6e98c2a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ParseException.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ParseException.java
@@ -30,7 +30,7 @@ public final class ParseException extends FormattedException {
 	 *
 	 * @param session The parser session to extract information from.
 	 * @param message The exception message containing {@link MessageFormat}-style arguments.
-	 * @param args Message arguments.
+	 * @param args Optional {@link MessageFormat}-style arguments.
 	 */
 	public ParseException(ParserSession session, String message, Object...args) {
 		super(getMessage(session, message, args));
@@ -40,7 +40,7 @@ public final class ParseException extends FormattedException {
 	 * Constructor.
 	 *
 	 * @param message The exception message containing {@link MessageFormat}-style arguments.
-	 * @param args Message arguments.
+	 * @param args Optional {@link MessageFormat}-style arguments.
 	 */
 	public ParseException(String message, Object...args) {
 		super(getMessage(null, message, args));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
index 08fb31f..9ec061a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
@@ -20,7 +20,6 @@ import java.text.*;
 import java.util.*;
 
 import org.apache.juneau.*;
-import org.apache.juneau.MediaType;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.transform.*;
@@ -37,7 +36,7 @@ import org.apache.juneau.utils.*;
  * 	However, the media types can also be specified programmatically by overriding the {@link #getMediaTypes()} method.
  *
  * <a id='ValidDataConversions'></a><h6 class='topic'>Valid data conversions</h6>
- * 	Parsers can parse any parsable POJO types, as specified in the <a class='doclink' href='../../../../overview-summary.html#Core.PojoCategories'>POJO Categories</a>.
+ * 	Parsers can parse any parsable POJO types, as specified in the <a class="doclink" href="../../../../overview-summary.html#Core.PojoCategories">POJO Categories</a>.
  * <p>
  * 	Some examples of conversions are shown below...
  * </p>
@@ -161,7 +160,6 @@ public abstract class Parser extends CoreApi {
 	 * @param type The class type of the object to create.
 	 * 	If <jk>null</jk> or <code>Object.<jk>class</jk></code>, object type is based on what's being parsed.
 	 * 	For example, when parsing JSON text, it may return a <code>String</code>, <code>Number</code>, <code>ObjectMap</code>, etc...
-	 *
 	 * @param <T> The class type of the object to create.
 	 * @return The parsed object.
 	 * @throws Exception If thrown from underlying stream, or if the input contains a syntax error or is malformed.
@@ -180,17 +178,16 @@ public abstract class Parser extends CoreApi {
 	//--------------------------------------------------------------------------------
 
 	/**
-	 * Parses the content of the reader and creates an object of the specified type.
+	 * Entry point for all parsing calls.
+	 * <p>
+	 * Calls the {@link #doParse(ParserSession, ClassMeta)} implementation class and catches/rewraps any exceptions thrown.
 	 * @param session The runtime session returned by {@link #createSession(Object, ObjectMap, Method, Object, Locale, TimeZone, MediaType)}.
 	 * @param type The class type of the object to create.
-	 * 	If <jk>null</jk> or <code>Object.<jk>class</jk></code>, object type is based on what's being parsed.
-	 * 	For example, when parsing JSON text, it may return a <code>String</code>, <code>Number</code>, <code>ObjectMap</code>, etc...
-	 *
 	 * @param <T> The class type of the object to create.
 	 * @return The parsed object.
 	 * @throws ParseException If the input contains a syntax error or is malformed, or is not valid for the specified type.
 	 */
-	public final <T> T parse(ParserSession session, ClassMeta<T> type) throws ParseException {
+	public final <T> T parseSession(ParserSession session, ClassMeta<T> type) throws ParseException {
 		try {
 			return doParse(session, type);
 		} catch (ParseException e) {
@@ -207,10 +204,41 @@ public abstract class Parser extends CoreApi {
 	}
 
 	/**
-	 * Parses the content of the reader and creates an object of the specified type.
+	 * Parses input into the specified object type.
+	 * The type can be a simple type (e.g. beans, strings, numbers) or parameterized type (collections/maps).
+	 *
+	 * <h5 class='section'>Examples:</h5>
+	 * <p class='bcode'>
+	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
+	 *
+	 * 	<jc>// Parse into a linked-list of strings.</jc>
+	 * 	List l = p.parse(json, LinkedList.<jk>class</jk>, String.<jk>class</jk>);
+	 *
+	 * 	<jc>// Parse into a linked-list of beans.</jc>
+	 * 	List l = p.parse(json, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
+	 *
+	 * 	<jc>// Parse into a linked-list of linked-lists of strings.</jc>
+	 * 	List l = p.parse(json, LinkedList.<jk>class</jk>, LinkedList.<jk>class</jk>, String.<jk>class</jk>);
+	 *
+	 * 	<jc>// Parse into a map of string keys/values.</jc>
+	 * 	Map m = p.parse(json, TreeMap.<jk>class</jk>, String.<jk>class</jk>, String.<jk>class</jk>);
+	 *
+	 * 	<jc>// Parse into a map containing string keys and values of lists containing beans.</jc>
+	 * 	Map m = p.parse(json, TreeMap.<jk>class</jk>, String.<jk>class</jk>, List.<jk>class</jk>, MyBean.<jk>class</jk>);
+	 * </p>
 	 * <p>
-	 * Equivalent to calling <code>parser.parse(in, type, <jk>null</jk>);</code>
+	 * <code>Collection</code> classes are assumed to be followed by zero or one objects indicating the element type.
+	 * <p>
+	 * <code>Map</code> classes are assumed to be followed by zero or two meta objects indicating the key and value types.
+	 * <p>
+	 * The array can be arbitrarily long to indicate arbitrarily complex data structures.
+	 * <p>
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Use the {@link #parse(Object, Class)} method instead if you don't need a parameterized map/collection.
+	 * </ul>
 	 *
+	 * @param <T> The class type of the object to create.
 	 * @param input The input.
 	 * 	<br>Character-based parsers can handle the following input class types:
 	 * 	<ul>
@@ -228,123 +256,67 @@ public abstract class Parser extends CoreApi {
 	 * 		<li><code><jk>byte</jk>[]</code>
 	 * 		<li>{@link File}
 	 * 	</ul>
-	 * @param type The class type of the object to create.
-	 * 	If <jk>null</jk> or <code>Object.<jk>class</jk></code>, object type is based on what's being parsed.
-	 * 	For example, when parsing JSON text, it may return a <code>String</code>, <code>Number</code>, <code>ObjectMap</code>, etc...
-	 * @param <T> The class type of the object to create.
+	 * @param type The object type to create.
+	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType}
+	 * @param args The type arguments of the class if it's a collection or map.
+	 * 	<br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType}
+	 * 	<br>Ignored if the main type is not a map or collection.
 	 * @return The parsed object.
 	 * @throws ParseException If the input contains a syntax error or is malformed, or is not valid for the specified type.
 	 */
-	public final <T> T parse(Object input, ClassMeta<T> type) throws ParseException {
+	@SuppressWarnings("unchecked")
+	public final <T> T parse(Object input, Type type, Type...args) throws ParseException {
 		ParserSession session = createSession(input);
-		return parse(session, type);
+		return (T)parseSession(session, session.getClassMeta(type, args));
 	}
 
 	/**
-	 * Parses input into the specified object type.
-	 *
-	 * <h6 class='topic'>Example:</h6>
+	 * Same as {@link #parse(Object, Type, Type...)} except optimized for a non-parameterized class.
+	 * <p>
+	 * This is the preferred parse method for simple types since you don't need to cast the results.
+	 * <h5 class='section'>Examples:</h5>
 	 * <p class='bcode'>
 	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	MyBean b = p.parse(json, MyBean.<jk>class</jk>);
-	 * 		</p>
-	 * 		<p>
-	 * 		This method equivalent to the following code:
-	 * 		<p class='bcode'>
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	ClassMeta&lt;MyBean&gt; cm = p.getBeanContext().getClassMeta(MyBean.<jk>class</jk>);
-	 * 	MyBean b = p.parse(json, cm, <jk>null</jk>);
-	 * </p>
 	 *
-	 * @param <T> The class type of the object to create.
-	 * @param input The input.  See {@link #parse(Object, ClassMeta)} for supported input types.
-	 * @param type The class type of the object to create.
-	 * @return The parsed object.
-	 * @throws ParseException If the input contains a syntax error or is malformed, or is not valid for the specified type.
-	 */
-	public final <T> T parse(Object input, Class<T> type) throws ParseException {
-		ParserSession session = createSession(input);
-		return parse(session, session.getClassMeta(type));
-	}
-
-	/**
-	 * Parses input into a map with specified key and value types.
+	 * 	<jc>// Parse into a string.</jc>
+	 * 	MyBean b = p.parse(json, String.<jk>class</jk>);
 	 *
-	 * <h6 class='topic'>Example:</h6>
-	 * <p class='bcode'>
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	Map&lt;String,MyBean&gt; m = p.parseMap(json, LinkedHashMap.<jk>class</jk>, String.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 * </p>
-	 * <p>
-	 * 	A simpler approach is often to just extend the map class you want and just use the normal {@link #parse(Object, Class)} method:
-	 * </p>
-	 * <p class='bcode'>
-	 * 	<jk>public static class</jk> MyMap <jk>extends</jk> LinkedHashMap&lt;String,MyBean&gt; {}
+	 * 	<jc>// Parse into a bean.</jc>
+	 * 	MyBean b = p.parse(json, MyBean.<jk>class</jk>);
 	 *
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	Map&lt;String,MyBean&gt; m = p.parse(json, MyMap.<jk>class</jk>);
-	 * </p>
-	 * <p>
-	 * 	This method equivalent to the following code:
-	 * </p>
-	 * <p class='bcode'>
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	ClassMeta&lt;Map&lt;String,MyBean&gt;&gt; cm = p.getBeanContext().getMapClassMeta(LinkedList.<jk>class</jk>, String.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 * 	Map&lt;String,MyBean&gt; m = p.parse(json, cm, <jk>null</jk>);
+	 * 	<jc>// Parse into a linked-list of objects.</jc>
+	 * 	List l = p.parse(json, LinkedList.<jk>class</jk>);
+	 *
+	 * 	<jc>// Parse into a map of object keys/values.</jc>
+	 * 	Map m = p.parse(json, TreeMap.<jk>class</jk>);
 	 * </p>
 	 *
-	 * @param <T> The class type of the object to create.
-	 * @param input The input.  See {@link #parse(Object, ClassMeta)} for supported input types.
-	 * @param mapClass The map class type.
-	 * @param keyClass The key class type.
-	 * @param valueClass The value class type.
+	 * @param <T> The class type of the object being created.
+	 * @param input The input.
+	 * 	See {@link #parse(Object, Type, Type...)} for details.
+	 * @param type The object type to create.
 	 * @return The parsed object.
 	 * @throws ParseException If the input contains a syntax error or is malformed, or is not valid for the specified type.
 	 */
-	public final <K,V,T extends Map<K,V>> T parseMap(Object input, Class<T> mapClass, Class<K> keyClass, Class<V> valueClass) throws ParseException {
+	public final <T> T parse(Object input, Class<T> type) throws ParseException {
 		ParserSession session = createSession(input);
-		ClassMeta<T> cm = session.getClassMeta(mapClass, keyClass, valueClass);
-		return parse(session, cm);
+		return parseSession(session, session.getClassMeta(type));
 	}
 
 	/**
-	 * Parses input into a collection with a specified element type.
-	 *
-	 * <h6 class='topic'>Example:</h6>
-	 * <p class='bcode'>
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	List&lt;MyBean&gt; l = p.parseCollection(json, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 * </p>
+	 * Same as {@link #parse(Object, Type, Type...)} except the type has already been converted into a {@link ClassMeta} object.
 	 * <p>
-	 * 	A simpler approach is often to just extend the collection class you want and just use the normal {@link #parse(Object, Class)} method:
-	 * </p>
-	 * <p class='bcode'>
-	 * 	<jk>public static class</jk> MyBeanCollection <jk>extends</jk> LinkedList&lt;MyBean&gt; {}
+	 * This is mostly an internal method used by the framework.
 	 *
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	List&lt;MyBean&gt; l = p.parse(json, MyBeanCollection.<jk>class</jk>);
-	 * 		</p>
-	 * 		<p>
-	 * 			This method equivalent to the following code:
-	 * 		</p>
-	 * 		<p class='bcode'>
-	 * 	ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
-	 * 	ClassMeta&lt;List&lt;MyBean&gt;&gt; cm = p.getBeanContext().getCollectionClassMeta(LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>);
-	 * 	List&lt;MyBean&gt; l = p.parse(json, cm, <jk>null</jk>);
-	 * </p>
-	 *
-	 * @param <T> The class type of the object to create.
-	 * @param input The input.  See {@link #parse(Object, ClassMeta)} for supported input types.
-	 * @param collectionClass The collection class type.
-	 * @param entryClass The class type of entries in the collection.
+	 * @param <T> The class type of the object being created.
+	 * @param input The input.
+	 * 	See {@link #parse(Object, Type, Type...)} for details.
+	 * @param type The object type to create.
 	 * @return The parsed object.
 	 * @throws ParseException If the input contains a syntax error or is malformed, or is not valid for the specified type.
-	 * @throws IOException If a problem occurred trying to read from the reader.
 	 */
-	public final <E,T extends Collection<E>> T parseCollection(Object input, Class<T> collectionClass, Class<E> entryClass) throws ParseException, IOException {
-		ParserSession session = createSession(input);
-		ClassMeta<T> cm = session.getClassMeta(collectionClass, entryClass);
-		return parse(session, cm);
+	public final <T> T parse(Object input, ClassMeta<T> type) throws ParseException {
+		return parseSession(createSession(input), type);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/parser/ParserGroup.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/ParserGroup.java b/juneau-core/src/main/java/org/apache/juneau/parser/ParserGroup.java
index 33b78fd..800db11 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ParserGroup.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ParserGroup.java
@@ -22,7 +22,7 @@ import org.apache.juneau.*;
 /**
  * Represents a group of {@link Parser Parsers} that can be looked up by media type.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Provides the following features:
  * <ul class='spaced-list'>
@@ -42,7 +42,7 @@ import org.apache.juneau.*;
  * 	For example, calling <code>g.append(P1.<jk>class</jk>,P2.<jk>class</jk>).append(P3.<jk>class</jk>,P4.<jk>class</jk>)</code>
  * 	will result in the order <code>P3, P4, P1, P2</code>.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Construct a new parser group</jc>
  * 	ParserGroup g = <jk>new</jk> ParserGroup();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/parser/ReaderParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/ReaderParser.java b/juneau-core/src/main/java/org/apache/juneau/parser/ReaderParser.java
index 6473ea4..d0ea5b9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/ReaderParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/ReaderParser.java
@@ -17,7 +17,7 @@ import org.apache.juneau.annotation.*;
 /**
  * Subclass of {@link Parser} for characters-based parsers.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This class is typically the parent class of all character-based parsers.
  * 	It has 1 abstract method to implement...

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
index 4a8cc65..68d6a33 100644
--- a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextParser.java
@@ -19,22 +19,22 @@ import org.apache.juneau.parser.*;
 import org.apache.juneau.transform.*;
 
 /**
- * Parsers HTTP plain text request bodies into <a href='../../../../overview-summary.html#Core.PojoCategories'>Group 5</a> POJOs.
+ * Parsers HTTP plain text request bodies into <a class="doclink" href="../../../../overview-summary.html#Core.PojoCategories">Group 5</a> POJOs.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>text/plain</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>text/plain</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Essentially just converts plain text to POJOs via static <code>fromString()</code> or <code>valueOf()</code>, or
  * 	through constructors that take a single string argument.
  * <p>
  * 	Also parses objects using a transform if the object class has an {@link PojoSwap PojoSwap&lt;?,String&gt;} transform defined on it.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
index 52ae7f8..0d04110 100644
--- a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializer.java
@@ -20,19 +20,19 @@ import org.apache.juneau.transform.*;
 /**
  * Serializes POJOs to plain text using just the <code>toString()</code> method on the serialized object.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>text/plain</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>text/plain</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Essentially converts POJOs to plain text using the <code>toString()</code> method.
  * <p>
  * 	Also serializes objects using a transform if the object class has an {@link PojoSwap PojoSwap&lt;?,String&gt;} transform defined on it.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java b/juneau-core/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
index 08edceb..9fddf75 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/OutputStreamSerializer.java
@@ -19,7 +19,7 @@ import org.apache.juneau.annotation.*;
 /**
  * Subclass of {@link Serializer} for byte-based serializers.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This class is typically the parent class of all byte-based serializers.
  * 	It has 1 abstract method to implement...

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/SerializeException.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializeException.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializeException.java
index 71b9b9e..5f974dc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializeException.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializeException.java
@@ -30,7 +30,7 @@ public final class SerializeException extends FormattedException {
 	 *
 	 * @param session The serializer session to extract information from.
 	 * @param message The exception message containing {@link MessageFormat}-style arguments.
-	 * @param args Message arguments.
+	 * @param args Optional {@link MessageFormat}-style arguments.
 	 */
 	public SerializeException(SerializerSession session, String message, Object...args) {
 		super(getMessage(session, message, args));
@@ -40,7 +40,7 @@ public final class SerializeException extends FormattedException {
 	 * Constructor.
 	 *
 	 * @param message The exception message containing {@link MessageFormat}-style arguments.
-	 * @param args Message arguments.
+	 * @param args Optional {@link MessageFormat}-style arguments.
 	 */
 	public SerializeException(String message, Object...args) {
 		super(getMessage(null, message, args));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/Serializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/Serializer.java b/juneau-core/src/main/java/org/apache/juneau/serializer/Serializer.java
index c2264aa..ccd0cc8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/Serializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/Serializer.java
@@ -25,7 +25,7 @@ import org.apache.juneau.soap.*;
 /**
  * Parent class for all Juneau serializers.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Base serializer class that serves as the parent class for all serializers.
  * <p>
@@ -38,7 +38,7 @@ import org.apache.juneau.soap.*;
  * 	However, the media types can also be specified programmatically by overriding the {@link #getMediaTypes()}
  * 		and {@link #getResponseContentType()} methods.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * 	See {@link SerializerContext} for a list of configurable properties that can be set on this class
  * 	using the {@link #setProperty(String, Object)} method.
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
index 3bc0f06..7031b12 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
@@ -181,7 +181,10 @@ public class SerializerContext extends BeanContext {
 	 * 	the following when <jsf>SERIALIZER_ignoreRecursions</jsf> is <jk>true</jk>...
 	 * <code>{A:{B:{C:null}}}</code><br>
 	 * <p>
-	 * Note:  Checking for recursion can cause a small performance penalty.
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>Checking for recursion can cause a small performance penalty.
+	 * </ul>
 	 */
 	public static final String SERIALIZER_detectRecursions = "Serializer.detectRecursions";
 
@@ -334,7 +337,7 @@ public class SerializerContext extends BeanContext {
 	 * (i.e. URIs not containing a schema and not starting with <js>'/'</js>).
 	 * (e.g. <js>"foo/bar"</js>)
 	 *
-	 * <h6 class='topic'>Example:</h6>
+	 * <h5 class='section'>Example:</h5>
 	 * <table class='styled'>
 	 *		<tr><th>SERIALIZER_relativeUriBase</th><th>URI</th><th>Serialized URI</th></tr>
 	 * 	<tr>
@@ -370,7 +373,7 @@ public class SerializerContext extends BeanContext {
 	 * (i.e. URIs starting with <js>'/'</js>).
 	 * (e.g. <js>"/foo/bar"</js>)
 	 *
-	 * <h6 class='topic'>Examples:</h6>
+	 * <h5 class='section'>Examples:</h5>
 	 * <table class='styled'>
 	 * 	<tr><th>SERIALIZER_absolutePathUriBase</th><th>URI</th><th>Serialized URI</th></tr>
 	 * 	<tr>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerGroup.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
index 4761265..ec62ae8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerGroup.java
@@ -22,7 +22,7 @@ import org.apache.juneau.*;
 /**
  * Represents a group of {@link Serializer Serializers} that can be looked up by media type.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Provides the following features:
  * <ul class='spaced-list'>
@@ -42,7 +42,7 @@ import org.apache.juneau.*;
  * 	For example, calling <code>g.append(S1.<jk>class</jk>,S2.<jk>class</jk>).append(S3.<jk>class</jk>,S4.<jk>class</jk>)</code>
  * 	will result in the order <code>S3, S4, S1, S2</code>.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Construct a new serializer group</jc>
  * 	SerializerGroup g = <jk>new</jk> SerializerGroup();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerWriter.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerWriter.java
index 115608b..00f8b8b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerWriter.java
@@ -23,7 +23,7 @@ import org.apache.juneau.internal.*;
  * Modeled after the Java ProcessBuilder class so that you can chain commands to reduce
  * 	the need for string concatenation for performance reasons.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	writer.append(<js>"foo"</js>).nl().i(5).append(<js>"bar"</js>);
  * </p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/StringObject.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/StringObject.java b/juneau-core/src/main/java/org/apache/juneau/serializer/StringObject.java
index f291639..65166bd 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/StringObject.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/StringObject.java
@@ -23,7 +23,7 @@ import org.apache.juneau.*;
  * <p>
  * Instances of this method are created by the {@link WriterSerializer#toStringObject(Object)} method.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// The POJO will not be serialized unless DEBUG is enabled.</jc>
  * 	logger.log(<jsf>DEBUG</jsf>, <js>"Object contents are: {0}"</js>, JsonSerializer.<jsf>DEFAULT</jsf>.toObjectString(myPojo));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/WriterSerializer.java b/juneau-core/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
index a84b9f9..5f38d4a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/WriterSerializer.java
@@ -22,7 +22,7 @@ import org.apache.juneau.annotation.*;
 /**
  * Subclass of {@link Serializer} for character-based serializers.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This class is typically the parent class of all character-based serializers.
  * 	It has 2 abstract methods to implement...

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
index f340ff7..c32dd80 100644
--- a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializer.java
@@ -22,17 +22,17 @@ import org.apache.juneau.xml.*;
 /**
  * Serializes POJOs to HTTP responses as XML+SOAP.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>text/xml+soap</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>text/xml+soap</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	Essentially the same output as {@link XmlDocSerializer}, except wrapped in a standard SOAP envelope.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
index 4f63db4..d85befc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/soap/SoapXmlSerializerContext.java
@@ -27,11 +27,11 @@ package org.apache.juneau.soap;
  * 	</tr>
  * </table>
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 		<li class='c'><a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties">SerializerContext</a> - Configurable properties common to all serializers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/VarResolver.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/VarResolver.java b/juneau-core/src/main/java/org/apache/juneau/svl/VarResolver.java
index 1d39c77..6ffdaeb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/VarResolver.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/VarResolver.java
@@ -32,7 +32,7 @@ import org.apache.juneau.svl.vars.*;
  * <p>
  * The {@link Var} interface defines how variables are converted to values.
  * <p>
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jk>public class</jk> SystemPropertiesVar <jk>extends</jk> SimpleVar {
  *
@@ -85,7 +85,7 @@ import org.apache.juneau.svl.vars.*;
  * Var resolvers can be cloned by using the {@link #clone()} method.
  * Cloning a resolver will copy it's {@link Var} class names and context objects.
  * <p>
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create a resolver that copies the default resolver and adds $C and $ARG vars.</jc>
  * 	VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>.clone().addVars(ConfigVar.<jk>class</jk>, ArgsVar.<jk>class</jk>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/vars/ArgsVar.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ArgsVar.java b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ArgsVar.java
index 2c2fc4d..b005c1f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ArgsVar.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ArgsVar.java
@@ -23,7 +23,7 @@ import org.apache.juneau.utils.*;
  * This variable resolver requires that an {@link Args} object be set as a context object on the resolver or a
  * 	session object on the resolver session.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create an args object from the main(String[]) method.</jc>
  * 	Args args = new Args(argv);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/vars/ConfigFileVar.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ConfigFileVar.java b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ConfigFileVar.java
index 1a84833..ff0d2d3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ConfigFileVar.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ConfigFileVar.java
@@ -24,7 +24,7 @@ import org.apache.juneau.svl.*;
  * This variable resolver requires that a {@link ConfigFile} object be set as a context object on the resolver or a
  * 	session object on the resolver session.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create a config file object.</jc>
  * 	ConfigFile configFile = ConfigMgr.<jsf>DEFAULT</jsf>.get(<js>"MyConfig.cfg"</js>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java b/juneau-core/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
index d6f3f12..d58e442 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/EnvVariablesVar.java
@@ -19,7 +19,7 @@ import org.apache.juneau.svl.*;
  * <p>
  * The format for this var is <js>"$E{envVar}"</js> or <js>"$E{envVar,defaultValue}"</js>
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create a variable resolver that resolves environment variables (e.g. "$E{PATH}")</jc>
  * 	VarResolver r = <jk>new</jk> VarResolver().addVars(EnvVariablesVar.<js>class</js>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/vars/ManifestFileVar.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ManifestFileVar.java b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ManifestFileVar.java
index ac1f250..2e35666 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/vars/ManifestFileVar.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/ManifestFileVar.java
@@ -23,7 +23,7 @@ import org.apache.juneau.utils.*;
  * This variable resolver requires that a {@link ManifestFile} object be set as a context object on the resolver or a
  * 	session object on the resolver session.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create a ManifestFile object that contains the manifest of the jar file containing this class.</jc>
  * 	ManifestFile mf = <jk>new</jk> ManifestFile(<jk>this</jk>.getClass());

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java b/juneau-core/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
index 1261f0e..937b149 100644
--- a/juneau-core/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
+++ b/juneau-core/src/main/java/org/apache/juneau/svl/vars/SystemPropertiesVar.java
@@ -19,7 +19,7 @@ import org.apache.juneau.svl.*;
  * <p>
  * The format for this var is <js>"$S{systemProperty}"</js> or <js>"$S{systemProperty,defaultValue}"</js>
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create a variable resolver that resolves system properties (e.g. "$S{java.home}")</jc>
  * 	VarResolver r = <jk>new</jk> VarResolver().addVars(SystemPropertiesVar.<js>class</js>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
index 46e6ec4..6c2928f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
@@ -23,7 +23,7 @@ import org.apache.juneau.*;
  * 	Bean filter builders must have a public no-arg constructor.
  * 	Builder settings should be set in the constructor using the provided setters on this class.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Create our serializer with a bean filter.</jc>
  * 	WriterSerializer s = <jk>new</jk> JsonSerializer().addBeanFilters(AddressFilter.<jk>class</jk>);
@@ -40,7 +40,7 @@ import org.apache.juneau.*;
  * 	}
  * </p>
  *
- * <h6 class='topic'>Additional information</h6>
+ * <h5 class='section'>Additional information:</h5>
  * 	See {@link org.apache.juneau.transform} for more information.
  */
 public abstract class BeanFilterBuilder {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transform/PojoSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transform/PojoSwap.java b/juneau-core/src/main/java/org/apache/juneau/transform/PojoSwap.java
index 5a1d104..efd94d1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transform/PojoSwap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transform/PojoSwap.java
@@ -22,7 +22,7 @@ import org.apache.juneau.serializer.*;
 /**
  * Used to swap out non-serializable objects with serializable replacements during serialization, and vis-versa during parsing.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	<code>PojoSwaps</code> are used to extend the functionality of the serializers and parsers to be able to handle POJOs
  * 	that aren't automatically handled by the serializers or parsers.  For example, JSON does not have a standard
@@ -90,7 +90,7 @@ import org.apache.juneau.serializer.*;
  * 	in which case it's not possible to reparse it back into a {@code Date}, since there is no way for the {@code Parser} to
  * 	know it's a {@code Date} from just the JSON or XML text.
  *
- * <h6 class='topic'>Additional information</h6>
+ * <h5 class='section'>Additional information:</h5>
  * 	See {@link org.apache.juneau.transform} for more information.
  *
  * @param <T> The normal form of the class.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transforms/BeanStringSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/BeanStringSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/BeanStringSwap.java
index f6d38f7..c7d1c67 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transforms/BeanStringSwap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transforms/BeanStringSwap.java
@@ -22,7 +22,7 @@ import org.apache.juneau.transform.*;
  * 	being turned into Maps by the {@link BeanContext} (or worse, throwing {@link BeanRuntimeException BeanRuntimeExceptions}).
  * <p>
  * 	This is usually a one-way transform.
- * 	Beans serialized as strings cannot be reconstituted using a parser unless it is a <a class='doclink' href='../../../../overview-summary.html#Core.PojoCategories'>Type 5 POJO</a>.
+ * 	Beans serialized as strings cannot be reconstituted using a parser unless it is a <a class="doclink" href="../../../../overview-summary.html#Core.PojoCategories">Type 5 POJO</a>.
  *
  * @param <T> The class type of the bean.
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java
index f6b1f3e..a4bf22c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transforms/CalendarSwap.java
@@ -88,7 +88,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link String Strings} using the {@code Date.toString()} method.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * 	<ul>
 	 * 	<li><js>"Wed Jul 04 15:30:45 EST 2001"</js>
 	 * </ul>
@@ -103,7 +103,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to ISO8601 date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001-07-04T15:30:45-05:00"</js>
 	 * 	<li><js>"2001-07-04T15:30:45Z"</js>
@@ -148,7 +148,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Same as {@link ISO8601DT}, except always serializes in GMT.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45Z"</js>
 	 */
 	public static class ISO8601DTZ extends CalendarSwap {
@@ -183,7 +183,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Same as {@link CalendarSwap.ISO8601DT} except serializes to millisecond precision.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45.123Z"</js>
 	 */
 	public static class ISO8601DTP extends ISO8601DT {
@@ -198,7 +198,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Same as {@link CalendarSwap.ISO8601DTZ} except serializes to millisecond precision.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45.123"</js>
 	 */
 	public static class ISO8601DTPZ extends ISO8601DTZ {
@@ -213,7 +213,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to RFC2822 date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Sat, 03 Mar 2001 10:11:12 +0000"</js> <jc>// en_US</jc>
 	 * 	<li><js>"\u571f, 03 3 2001 10:11:12 +0000"</js> <jc>// ja_JP</jc>
@@ -230,7 +230,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Same as {@link RFC2822DT}, except always serializes in GMT.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Sat, 03 Mar 2001 10:11:12 GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"\u571f, 03 3 2001 10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -247,7 +247,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to RFC2822 date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"03 Mar 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"03 3 2001"</js> <jc>// ja_JP</jc>
@@ -264,7 +264,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to simple <js>"yyyy/MM/dd HH:mm:ss"</js> date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001/03/03 10:11:12"</js>
 	 * </ul>
@@ -279,7 +279,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to simple <js>"yyyy/MM/dd"</js> date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001/03/03"</js>
 	 * </ul>
@@ -294,7 +294,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to simple <js>"HH:mm:ss"</js> time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12"</js>
 	 * </ul>
@@ -309,7 +309,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#FULL} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Saturday, March 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001\u5e743\u67083\u65e5"</js> <jc>// ja_JP</jc>
@@ -326,7 +326,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#LONG} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"March 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03"</js> <jc>// ja_JP</jc>
@@ -343,7 +343,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#MEDIUM} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Mar 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03"</js> <jc>// ja_JP</jc>
@@ -360,7 +360,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#SHORT} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"3/3/01"</js> <jc>// en_US</jc>
 	 * 	<li><js>"01/03/03"</js> <jc>// ja_JP</jc>
@@ -377,7 +377,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#FULL} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10\u664211\u520612\u79d2 GMT"</js> <jc>// ja_JP</jc>
@@ -394,7 +394,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#LONG} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -411,7 +411,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#MEDIUM} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11:12"</js> <jc>// ja_JP</jc>
@@ -428,7 +428,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#SHORT} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11 AM"</js> <jc>// ja_JP</jc>
@@ -445,7 +445,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#FULL} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Saturday, March 3, 2001 10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001\u5e743\u67083\u65e5 10\u664211\u520612\u79d2 GMT"</js> <jc>// ja_JP</jc>
@@ -462,7 +462,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#LONG} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"March 3, 2001 10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03 10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -479,7 +479,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#MEDIUM} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Mar 3, 2001 10:11:12 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03 10:11:12"</js> <jc>// ja_JP</jc>
@@ -496,7 +496,7 @@ public class CalendarSwap extends StringSwap<Calendar> {
 	/**
 	 * Transforms {@link Calendar Calendars} to {@link DateFormat#SHORT} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"3/3/01 10:11 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"01/03/03 10:11"</js> <jc>// ja_JP</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java
index 95673df..8e8b8a7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transforms/DateSwap.java
@@ -87,7 +87,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link String Strings} using the {@code Date.toString()} method.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * 	<ul>
 	 * 	<li><js>"Wed Jul 04 15:30:45 EST 2001"</js>
 	 * </ul>
@@ -102,7 +102,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Calendar Calendars} to ISO8601 date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001-07-04T15:30:45-05:00"</js>
 	 * 	<li><js>"2001-07-04T15:30:45Z"</js>
@@ -149,7 +149,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Same as {@link ISO8601DT}, except always serializes in GMT.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45Z"</js>
 	 */
 	public static class ISO8601DTZ extends DateSwap {
@@ -186,7 +186,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Same as {@link CalendarSwap.ISO8601DT} except serializes to millisecond precision.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45.123Z"</js>
 	 */
 	public static class ISO8601DTP extends ISO8601DT {
@@ -203,7 +203,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Same as {@link CalendarSwap.ISO8601DTZ} except serializes to millisecond precision.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <js>"2001-07-04T15:30:45.123"</js>
 	 */
 	public static class ISO8601DTPZ extends ISO8601DTZ {
@@ -220,7 +220,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to RFC2822 date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Sat, 03 Mar 2001 10:11:12 +0000"</js> <jc>// en_US</jc>
 	 * 	<li><js>"\u571f, 03 3 2001 10:11:12 +0000"</js> <jc>// ja_JP</jc>
@@ -237,7 +237,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Same as {@link DateSwap.RFC2822DT}, except always serializes in GMT.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Sat, 03 Mar 2001 10:11:12 GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"\u571f, 03 3 2001 10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -254,7 +254,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to RFC2822 date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"03 Mar 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"03 3 2001"</js> <jc>// ja_JP</jc>
@@ -271,7 +271,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to simple <js>"yyyy/MM/dd HH:mm:ss"</js> date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001/03/03 10:11:12"</js>
 	 * </ul>
@@ -286,7 +286,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to simple <js>"yyyy/MM/dd"</js> date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"2001/03/03"</js>
 	 * </ul>
@@ -301,7 +301,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to simple <js>"HH:mm:ss"</js> time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12"</js>
 	 * </ul>
@@ -316,7 +316,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#FULL} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Saturday, March 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001\u5e743\u67083\u65e5"</js> <jc>// ja_JP</jc>
@@ -333,7 +333,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#LONG} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"March 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03"</js> <jc>// ja_JP</jc>
@@ -350,7 +350,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#MEDIUM} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Mar 3, 2001"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03"</js> <jc>// ja_JP</jc>
@@ -367,7 +367,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#SHORT} date strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"3/3/01"</js> <jc>// en_US</jc>
 	 * 	<li><js>"01/03/03"</js> <jc>// ja_JP</jc>
@@ -384,7 +384,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#FULL} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10\u664211\u520612\u79d2 GMT"</js> <jc>// ja_JP</jc>
@@ -401,7 +401,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#LONG} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -418,7 +418,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#MEDIUM} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11:12 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11:12"</js> <jc>// ja_JP</jc>
@@ -435,7 +435,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#SHORT} time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"10:11 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"10:11 AM"</js> <jc>// ja_JP</jc>
@@ -452,7 +452,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#FULL} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Saturday, March 3, 2001 10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001\u5e743\u67083\u65e5 10\u664211\u520612\u79d2 GMT"</js> <jc>// ja_JP</jc>
@@ -469,7 +469,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#LONG} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"March 3, 2001 10:11:12 AM GMT"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03 10:11:12 GMT"</js> <jc>// ja_JP</jc>
@@ -486,7 +486,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#MEDIUM} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"Mar 3, 2001 10:11:12 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"2001/03/03 10:11:12"</js> <jc>// ja_JP</jc>
@@ -503,7 +503,7 @@ public class DateSwap extends StringSwap<Date> {
 	/**
 	 * Transforms {@link Date Dates} to {@link DateFormat#SHORT} date-time strings.
 	 *
-	 * <h6 class='topic'>Example output:</h6>
+	 * <h5 class='section'>Example output:</h5>
 	 * <ul>
 	 * 	<li><js>"3/3/01 10:11 AM"</js> <jc>// en_US</jc>
 	 * 	<li><js>"01/03/03 10:11"</js> <jc>// ja_JP</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/transforms/ReaderSwap.java b/juneau-core/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
index d434a73..f8129ac 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transforms/ReaderSwap.java
@@ -26,7 +26,7 @@ import org.apache.juneau.xml.*;
 /**
  * Transforms the contents of a {@link Reader} into an {@code Object}.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	The {@code Reader} must contain JSON, Juneau-generated XML (output from {@link XmlSerializer}),
  * 		or Juneau-generated HTML (output from {@link JsonSerializer}) in order to be parsed correctly.
@@ -98,7 +98,7 @@ public class ReaderSwap extends PojoSwap<Reader,Object> {
 		try {
 			if (parser == null)
 				return IOUtils.read(o);
-			return parser.parse(o, session.object());
+			return parser.parse(o, Object.class);
 		} catch (IOException e) {
 			return e.getLocalizedMessage();
 		} catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
index 0b78561..7f803ae 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
@@ -27,15 +27,15 @@ import org.apache.juneau.transform.*;
 /**
  * Parses UON (a notation for URL-encoded query parameter values) text into POJO models.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Content-Type</code> types: <code>text/uon</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This parser uses a state machine, which makes it very fast and efficient.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>
@@ -731,7 +731,6 @@ public class UonParser extends ReaderParser {
 	@Override /* Parser */
 	protected <T> T doParse(ParserSession session, ClassMeta<T> type) throws Exception {
 		UonParserSession s = (UonParserSession)session;
-		type = session.normalizeClassMeta(type);
 		UonReader r = s.getReader();
 		T o = parseAnything(s, type, r, s.getOuter(), true, null);
 		validateEnd(s, r);
@@ -743,7 +742,7 @@ public class UonParser extends ReaderParser {
 		UonParserSession s = (UonParserSession)session;
 		UonReader r = s.getReader();
 		readFlag(s, r, 'o');
-		m = parseIntoMap(s, r, m, session.getClassMeta(keyType), session.getClassMeta(valueType), null);
+		m = parseIntoMap(s, r, m, (ClassMeta<K>)session.getClassMeta(keyType), (ClassMeta<V>)session.getClassMeta(valueType), null);
 		validateEnd(s, r);
 		return m;
 	}
@@ -753,7 +752,7 @@ public class UonParser extends ReaderParser {
 		UonParserSession s = (UonParserSession)session;
 		UonReader r = s.getReader();
 		readFlag(s, r, 'a');
-		c = parseIntoCollection(s, r, c, session.getClassMeta(elementType), false, null);
+		c = parseIntoCollection(s, r, c, (ClassMeta<E>)session.getClassMeta(elementType), false, null);
 		validateEnd(s, r);
 		return c;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
index 6f40db5..144ade5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParserContext.java
@@ -53,11 +53,11 @@ import org.apache.juneau.parser.*;
  * 	</tr>
  * </table>
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers.
+ * 		<li class='c'><a class="doclink" href="../parser/ParserContext.html#ConfigProperties">ParserContext</a> - Configurable properties common to all parsers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
index 9c752f2..4a227ed 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
@@ -26,18 +26,18 @@ import org.apache.juneau.transform.*;
 /**
  * Serializes POJO models to UON (a notation for URL-encoded query parameter values).
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  * 	Handles <code>Accept</code> types: <code>text/uon</code>
  * <p>
  * 	Produces <code>Content-Type</code> types: <code>text/uon</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  * 	This serializer provides several serialization options.  Typically, one of the predefined DEFAULT serializers will be sufficient.
  * 	However, custom serializers can be constructed to fine-tune behavior.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  * 	This class has the following properties associated with it:
  * <ul>
@@ -122,7 +122,7 @@ import org.apache.juneau.transform.*;
  * 	)
  * </p>
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  * 	<jc>// Serialize a Map</jc>
  * 	Map m = <jk>new</jk> ObjectMap(<js>"{a:'b',c:1,d:false,e:['f',1,false],g:{h:'i'}}"</js>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
index b7be793..5c7e30e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializerContext.java
@@ -60,11 +60,11 @@ import org.apache.juneau.serializer.*;
  * 	</tr>
  * </table>
  *
- * <h6 class='topic'>Configurable properties inherited from parent classes</h6>
+ * <h5 class='section'>Inherited configurable properties:</h5>
  * <ul class='javahierarchy'>
- * 	<li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers.
+ * 	<li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers.
  * 	<ul>
- * 		<li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers.
+ * 		<li class='c'><a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties">SerializerContext</a> - Configurable properties common to all serializers.
  * 	</ul>
  * </ul>
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
index f2b4c79..118b5e8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonWriter.java
@@ -20,7 +20,10 @@ import org.apache.juneau.serializer.*;
 /**
  * Specialized writer for serializing UON-encoded text.
  * <p>
- * 	<b>Note:  This class is not intended for external use.</b>
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ * 	<li>This class is not intended for external use.
+ * </ul>
  */
 public final class UonWriter extends SerializerWriter {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
index 6e6a8d4..95fe474 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingContext.java
@@ -40,11 +40,14 @@ public final class UrlEncodingContext implements Cloneable {
 	 * 	String s2 = p2.serialize(<jk>new</jk> A()); <jc>// Produces "f1=a&amp;f1=b&amp;f2=c&amp;f2=d"</jc>
 	 * </p>
 	 * <p>
-	 * 	<b>Important note:</b>  If parsing multi-part parameters, it's highly recommended to use Collections or Lists
-	 * 	as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
-	 * 	is added to it.
+	 * This option only applies to beans.
 	 * <p>
-	 * 	This option only applies to beans.
+	 * <h5 class='section'>Notes:</h5>
+	 * <ul>
+	 * 	<li>If parsing multi-part parameters, it's highly recommended to use <code>Collections</code> or <code>Lists</code>
+	 * 		as bean property types instead of arrays since arrays have to be recreated from scratch every time a value
+	 * 		is added to it.
+	 * </ul>
 	 */
 	public static final String URLENC_expandedParams = "UrlEncoding.expandedParams";