http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
index a3a6722..2c68e09 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
@@ -18,7 +18,6 @@ import java.lang.reflect.*;
 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.parser.*;
@@ -27,11 +26,11 @@ import org.apache.juneau.transform.*;
 /**
  * Parses URL-encoded text into POJO models.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Content-Type</code> types: 
<code>application/x-www-form-urlencoded</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Parses URL-Encoded text (e.g. <js>"foo=bar&amp;baz=bing"</js>) into 
POJOs.
  * <p>
@@ -39,7 +38,7 @@ import org.apache.juneau.transform.*;
  * <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>
@@ -429,17 +428,21 @@ public class UrlEncodingParser extends UonParser {
         * Parses a single query parameter value into the specified class type.
         *
         * @param in The input query string value.
-        * @param type 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 A new instance of the specified type.
         * @throws ParseException
         */
-       public <T> T parseParameter(CharSequence in, ClassMeta<T> type) throws 
ParseException {
+       public <T> T parseParameter(CharSequence in, Type type, Type...args) 
throws ParseException {
                if (in == null)
                        return null;
                UonParserSession session = createParameterSession(in);
                try {
                        UonReader r = session.getReader();
-                       return super.parseAnything(session, type, r, null, 
true, null);
+                       return (T)super.parseAnything(session, 
session.getClassMeta(type, args), r, null, true, null);
                } catch (ParseException e) {
                        throw e;
                } catch (Exception e) {
@@ -473,6 +476,31 @@ public class UrlEncodingParser extends UonParser {
                }
        }
 
+       /**
+        * Same as {@link #parseParameter(CharSequence, Type, Type...)} except 
the type has already
+        * been converted to a {@link ClassMeta} object.
+        *
+        * @param in The input query string value.
+        * @param type The class type of the object to create.
+        * @return A new instance of the specified type.
+        * @throws ParseException
+        */
+       public <T> T parseParameter(CharSequence in, ClassMeta<T> type) throws 
ParseException {
+               if (in == null)
+                       return null;
+               UonParserSession session = createParameterSession(in);
+               try {
+                       UonReader r = session.getReader();
+                       return super.parseAnything(session, type, r, null, 
true, null);
+               } catch (ParseException e) {
+                       throw e;
+               } catch (Exception e) {
+                       throw new ParseException(session, e);
+               } finally {
+                       session.close();
+               }
+       }
+
        
//--------------------------------------------------------------------------------
        // Overridden methods
        
//--------------------------------------------------------------------------------
@@ -485,7 +513,6 @@ public class UrlEncodingParser extends UonParser {
        @Override /* Parser */
        protected <T> T doParse(ParserSession session, ClassMeta<T> type) 
throws Exception {
                UrlEncodingParserSession s = (UrlEncodingParserSession)session;
-               type = session.normalizeClassMeta(type);
                UonReader r = s.getReader();
                T o = parseAnything(s, type, r, s.getOuter());
                return o;
@@ -505,7 +532,7 @@ public class UrlEncodingParser extends UonParser {
                UonReader r = s.getReader();
                if (r.peek() == '?')
                        r.read();
-               m = parseIntoMap(s, r, m, session.getClassMeta(keyType), 
session.getClassMeta(valueType));
+               m = parseIntoMap(s, r, m, 
(ClassMeta<K>)session.getClassMeta(keyType), 
(ClassMeta<V>)session.getClassMeta(valueType));
                return m;
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
index 5df8849..fa13729 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserContext.java
@@ -60,7 +60,7 @@ public class UrlEncodingParserContext extends 
UonParserContext {
         *      If <jk>false</jk>, serializing the array <code>[1,2,3]</code> 
results in <code>?key=$a(1,2,3)</code>.
         *      If <jk>true</jk>, serializing the same array results in 
<code>?key=1&amp;key=2&amp;key=3</code>.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jk>public class</jk> A {
         *              <jk>public</jk> String[] f1 = 
{<js>"a"</js>,<js>"b"</js>};
@@ -74,11 +74,14 @@ public class UrlEncodingParserContext extends 
UonParserContext {
         *      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.
-        * <p>
         *      This option only applies to beans.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>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.
+        * </ul>
         */
        public static final String URLENC_expandedParams = 
"UrlEncoding.expandedParams";
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index e96ef9b..6bb81d5 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -29,18 +29,18 @@ import org.apache.juneau.transform.*;
 /**
  * Serializes POJO models to URL-encoded notation with UON-encoded values (a 
notation for URL-encoded query paramter values).
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Accept</code> types: 
<code>application/x-www-form-urlencoded</code>
  * <p>
  *     Produces <code>Content-Type</code> types: 
<code>application/x-www-form-urlencoded</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>
@@ -121,7 +121,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/UrlEncodingSerializerContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
index fc5bd2c..0e68416 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerContext.java
@@ -61,7 +61,7 @@ public class UrlEncodingSerializerContext extends 
UonSerializerContext {
         * If <jk>false</jk>, serializing the array <code>[1,2,3]</code> 
results in <code>?key=$a(1,2,3)</code>.
         * If <jk>true</jk>, serializing the same array results in 
<code>?key=1&amp;key=2&amp;key=3</code>.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jk>public class</jk> A {
         *              <jk>public</jk> String[] f1 = 
{<js>"a"</js>,<js>"b"</js>};
@@ -75,11 +75,14 @@ public class UrlEncodingSerializerContext extends 
UonSerializerContext {
         *      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.
-        * <p>
         * This option only applies to beans.
+        * <p>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>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.
+        * </ul>
         */
        public static final String URLENC_expandedParams = 
"UrlEncoding.expandedParams";
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/Args.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/utils/Args.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/Args.java
index 58176db..4d4d01d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/Args.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/Args.java
@@ -37,7 +37,7 @@ import org.apache.juneau.internal.*;
  *     <li><code>java com.sample.MyClass mainArg1 -optArg1 optArg1Val1 
-optArg1 optArg1Val2</code>
  * </ul>
  *
- * <h6 class='topic'>Code examples</h6>
+ * <h5 class='section'>Examples:</h5>
  * <p class='bcode'>
  *
  *     <jc>// Main method with arguments</jc>
@@ -193,7 +193,7 @@ public final class Args extends ObjectMap {
         * <p>
         * If the optional arg has multiple values, returns only the first 
converted value.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         *      <p class='bcode'>
         *      <jc>// Command:  java com.sample.MyClass -verbose true -debug 
5</jc>
         *      <jk>boolean</jk> b = 
args.getArg(<jk>boolean</jk>.<jk>class</jk>, <js>"verbose"</js>);
@@ -215,7 +215,7 @@ public final class Args extends ObjectMap {
        /**
         * Returns the optional argument values as a list of strings.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jc>// Command:  java com.sample.MyClass -extraArgs foo bar 
baz</jc>
         *      List&lt;String&gt; l1 = args.getArgs(<js>"extraArgs"</js>); 
<jc>// ['foo','bar','baz']</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/MessageBundle.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/utils/MessageBundle.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/MessageBundle.java
index 965a2d9..190e68c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/MessageBundle.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/MessageBundle.java
@@ -154,7 +154,7 @@ public class MessageBundle extends ResourceBundle {
         * Similar to {@link ResourceBundle#getString(String)} except allows 
you to pass in {@link MessageFormat} objects.
         *
         * @param key The resource bundle key.
-        * @param args Optional variable replacement arguments.
+        * @param args Optional {@link MessageFormat}-style arguments.
         * @return The resolved value.  Never <jk>null</jk>.  
<js>"{!!key}"</js> if the bundle is missing.  <js>"{!key}"</js> if the key is 
missing.
         */
        public String getString(String key, Object...args) {
@@ -171,7 +171,7 @@ public class MessageBundle extends ResourceBundle {
         *
         * @param locale The locale of the resource bundle to retrieve message 
from.
         * @param key The resource bundle key.
-        * @param args Optional variable replacement arguments.
+        * @param args Optional {@link MessageFormat}-style arguments.
         * @return The resolved value.  Never <jk>null</jk>.  
<js>"{!!key}"</js> if the bundle is missing.  <js>"{!key}"</js> if the key is 
missing.
         */
        public String getString(Locale locale, String key, Object...args) {
@@ -184,7 +184,7 @@ public class MessageBundle extends ResourceBundle {
         * Same as {@link #getString(String, Object...)} but uses the locale 
specified on the call to {@link #setClientLocale(Locale)}.
         *
         * @param key The resource bundle key.
-        * @param args Optional variable replacement arguments.
+        * @param args Optional {@link MessageFormat}-style arguments.
         * @return The resolved value.  Never <jk>null</jk>.  
<js>"{!!key}"</js> if the bundle is missing.  <js>"{!key}"</js> if the key is 
missing.
         */
        public String getClientString(String key, Object...args) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/PojoIntrospector.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/utils/PojoIntrospector.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/PojoIntrospector.java
index 44d5580..908fc5d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/PojoIntrospector.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/PojoIntrospector.java
@@ -23,7 +23,7 @@ import org.apache.juneau.parser.*;
 /**
  * Used to invoke methods on {@code Objects} using arguments in serialized 
form.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  *     <p class='bcode'>
  *             String s = <js>"foobar"</js>;
  *             String s2 = (String)<jk>new</jk> 
PojoIntrospector(s).invoke(<js>"substring(int,int)"</js>, <js>"[3,6]"</js>);  
<jc>// "bar"</jc>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/PojoQuery.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/utils/PojoQuery.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/PojoQuery.java
index 4e0d2ec..1f2ff64 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/PojoQuery.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/PojoQuery.java
@@ -66,7 +66,7 @@ import org.apache.juneau.internal.*;
  *     Search patterns can be either {@code Strings} or {@code Maps}.<br>
  *     Multiple search patterns are ANDed (i.e. all patterns must match for 
the row to be returned).
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <ul class='spaced-list'>
  *     <li><tt>{fi:'123'}</tt> - Return only rows where the <tt>fi</tt> column 
is 123.
  *     <li><tt>{fs:'foobar'}</tt> - Return only rows where the <tt>fs</tt> 
column is 'foobar'.
@@ -95,7 +95,7 @@ import org.apache.juneau.internal.*;
  *     <li><tt>foo?</tt> - <tt>?</tt> matches exactly one character
  * </ul>
  *
- * <h6 class='topic'>Notes</h6>
+ * <h5 class='section'>Notes:</h5>
  * <ul class='spaced-list'>
  *     <li>Whitespace is ignored around search patterns.
  *     <li>Prepend <tt>+</tt> to tokens that must match.  (e.g. <tt>+foo* 
+*bar</tt>)
@@ -118,7 +118,7 @@ import org.apache.juneau.internal.*;
  *     <li><tt>!123</tt> - Not 123
  * </ul>
  *
- * <h6 class='topic'>Notes</h6>
+ * <h5 class='section'>Notes:</h5>
  * <ul class='spaced-list'>
  *     <li>Whitespace is ignored in search patterns.
  *     <li>Negative numbers are supported.
@@ -149,7 +149,7 @@ import org.apache.juneau.internal.*;
  *     <li><tt>2001 2003 2005</tt>     - Multiple date patterns are ORed.
  * </ul>
  *
- * <h6 class='topic'>Notes</h6>
+ * <h5 class='section'>Notes:</h5>
  * <ul>
  *     <li>Whitespace is ignored in search patterns.
  * </ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/PojoRest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/utils/PojoRest.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/PojoRest.java
index 6f690cf..851bc9b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/PojoRest.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/PojoRest.java
@@ -42,7 +42,7 @@ import org.apache.juneau.parser.*;
  * <p>
  *     Leading slashes in URLs are ignored.  So <js>"/xxx/yyy/zzz"</js> and 
<js>"xxx/yyy/zzz"</js> are considered identical.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     <jc>// Construct an unstructured POJO model</jc>
  *     ObjectMap m = <jk>new</jk> ObjectMap(<js>""</js>
@@ -106,7 +106,7 @@ import org.apache.juneau.parser.*;
  *     can be used in lieu of index numbers on GET requests to return a 
map/bean with a specified attribute value.<br>
  *     The syntax is {@code @attr=val}, where attr is the attribute name on 
the child map, and val is the matching value.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     <jc>// Get map/bean with name attribute value of 'foo' from a list of 
items</jc>
  *     Map m = pojoRest.getMap(<js>"/items/@name=foo"</js>);
@@ -528,21 +528,24 @@ public final class PojoRest {
        /**
         * Adds a value to a list element in a POJO model.
         * <p>
-        *      The URL is the address of the list being added to.
+        * The URL is the address of the list being added to.
         * <p>
-        *      If the list does not already exist, it will be created.
+        * If the list does not already exist, it will be created.
         * <p>
-        *      This method expands the POJO model as necessary to create the 
new element.
+        * This method expands the POJO model as necessary to create the new 
element.
         * <p>
-        *      Note:  You can only post to three types of nodes:
-        *      <ul class='spaced-list'>
-        *              <li>{@link List Lists}
-        *              <li>{@link Map Maps} containing integers as keys (i.e 
sparse arrays)
-        *              <li>arrays
-        *      </ul>
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>You can only post to three types of nodes:
+        *              <ul class='spaced-list'>
+        *                      <li>{@link List Lists}
+        *                      <li>{@link Map Maps} containing integers as 
keys (i.e sparse arrays)
+        *                      <li>arrays
+        *              </ul>
+        * </ul>
         *
         * @param url The URL of the element being added to.
-        *              If null or blank, the root itself (assuming it's one of 
the types specified above) is added to.
+        *              <br>If <jk>null</jk> or blank, the root itself 
(assuming it's one of the types specified above) is added to.
         * @param val The value being added.
         * @return The URL of the element that was added.
         */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/PojoRestException.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/utils/PojoRestException.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/PojoRestException.java
index 2dc190c..ad74cef 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/PojoRestException.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/PojoRestException.java
@@ -38,7 +38,7 @@ public final class PojoRestException extends RuntimeException 
{
         *
         * @param status The HTTP-equivalent status code.
         * @param message The detailed message.
-        * @param args Optional message arguments.
+        * @param args Optional {@link MessageFormat}-style arguments.
         */
        public PojoRestException(int status, String message, Object...args) {
                super(args.length == 0 ? message : 
MessageFormat.format(message, args));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/utils/ProcBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/utils/ProcBuilder.java 
b/juneau-core/src/main/java/org/apache/juneau/utils/ProcBuilder.java
index 6b253e2..376317b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/utils/ProcBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/utils/ProcBuilder.java
@@ -71,7 +71,7 @@ public class ProcBuilder {
         * Command arguments if the specified matcher matches.
         * Can be used for specifying os-specific commands.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      ProcessBuilder pb = ProcessBuilder
         *              .create()

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
index eb58b7c..501de0f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlDocSerializer.java
@@ -20,13 +20,13 @@ import org.apache.juneau.serializer.*;
 /**
  * Serializes POJOs to HTTP responses as XML.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Accept</code> types: <code>text/xml</code>
  * <p>
  *     Produces <code>Content-Type</code> types: <code>text/xml</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Same as {@link XmlSerializer}, except prepends <code><xt>&lt;?xml</xt> 
<xa>version</xa>=<xs>'1.0'</xs> 
<xa>encoding</xa>=<xs>'UTF-8'</xs><xt>?&gt;</xt></code> to the response
  *     to make it a valid XML document.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
index 29dea9f..0e04e3f 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
@@ -31,15 +31,15 @@ import org.apache.juneau.xml.annotation.*;
 /**
  * Parses text generated by the {@link XmlSerializer} class back into a POJO 
model.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Content-Type</code> types: <code>text/xml</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     See the {@link XmlSerializer} class for a description of 
Juneau-generated XML.
  *
- * <h6 class='topic'>Configurable properties</h6>
+ * <h5 class='section'>Configurable properties:</h5>
  * <p>
  *     This class has the following properties associated with it:
  * <ul>
@@ -510,7 +510,6 @@ public class XmlParser extends ReaderParser {
        @Override /* Parser */
        protected <T> T doParse(ParserSession session, ClassMeta<T> type) 
throws Exception {
                XmlParserSession s = (XmlParserSession)session;
-               type = session.normalizeClassMeta(type);
                return parseAnything(s, type, null, s.getXmlStreamReader(), 
s.getOuter(), true, null);
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
index 765fbd6..a5b6802 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParserContext.java
@@ -84,11 +84,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>
  */
@@ -135,7 +135,10 @@ public class XmlParserContext extends ParserContext {
         * <p>
         * Associates an {@link XMLReporter} with this parser.
         * <p>
-        * Note:  Reporters are not copied to new parsers during a clone.
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>Reporters are not copied to new parsers during a clone.
+        * </ul>
         */
        public static final String XML_reporter = "XmlParser.reporter";
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaDocSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaDocSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaDocSerializer.java
index 95a8024..195abf1 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaDocSerializer.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaDocSerializer.java
@@ -18,13 +18,13 @@ import org.apache.juneau.serializer.*;
 /**
  * Serializes POJO metadata to HTTP responses as XML.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Accept</code> types: <code>text/xml+schema</code>
  * <p>
  *     Produces <code>Content-Type</code> types: <code>text/xml</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Same as {@link XmlSchemaSerializer}, except prepends 
<code><xt>&lt;?xml</xt> <xa>version</xa>=<xs>'1.0'</xs> 
<xa>encoding</xa>=<xs>'UTF-8'</xs><xt>?&gt;</xt></code> to the response
  *     to make it a valid XML document.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
index 35effd0..01d8138 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
@@ -35,17 +35,17 @@ import org.w3c.dom.ls.*;
 /**
  * Serializes POJO metadata to HTTP responses as XML.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Accept</code> types: <code>text/xml+schema</code>
  * <p>
  *     Produces <code>Content-Type</code> types: <code>text/xml</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Produces the XML-schema representation of the XML produced by the 
{@link XmlSerializer} class with the same properties.
  *
- * <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/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index e8e0bbf..3a86e00 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -31,13 +31,13 @@ import org.apache.juneau.xml.annotation.*;
 /**
  * Serializes POJO models to XML.
  *
- * <h6 class='topic'>Media types</h6>
+ * <h5 class='section'>Media types:</h5>
  * <p>
  *     Handles <code>Accept</code> types: <code>text/xml</code>
  * <p>
  *     Produces <code>Content-Type</code> types: <code>text/xml</code>
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     See the {@link JsonSerializer} class for details on how Java models map 
to JSON.
  * <p>
@@ -105,7 +105,7 @@ import org.apache.juneau.xml.annotation.*;
  * <p>
  *     If an attribute name contains any non-valid XML element characters, 
they will be escaped using standard {@code _x####_} notation.
  *
- * <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/xml/XmlSerializerContext.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
index d1d51df..215a5e1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializerContext.java
@@ -81,11 +81,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>
  */
@@ -127,10 +127,12 @@ public class XmlSerializerContext extends 
SerializerContext {
         * <p>
         * This setting is ignored if {@link #XML_enableNamespaces} is not 
enabled.
         * <p>
-        * <b>IMPORTANT NOTE:</b>
-        * Auto-detection of namespaces can be costly performance-wise.
-        * In high-performance environments, it's recommended that namespace 
detection be
-        *      disabled, and that namespaces be manually defined through the 
{@link #XML_namespaces} property.
+        * <h5 class='section'>Notes:</h5>
+        * <ul>
+        *      <li>Auto-detection of namespaces can be costly performance-wise.
+        *              In high-performance environments, it's recommended that 
namespace detection be
+        *              disabled, and that namespaces be manually defined 
through the {@link #XML_namespaces} property.
+        * </ul>
         */
        public static final String XML_autoDetectNamespaces = 
"XmlSerializer.autoDetectNamespaces";
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/XmlWriter.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlWriter.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlWriter.java
index 281e664..1140561 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlWriter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlWriter.java
@@ -20,7 +20,10 @@ import org.apache.juneau.xml.annotation.*;
 /**
  * Specialized writer for serializing XML.
  * <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 class XmlWriter extends SerializerWriter {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/xml/annotation/Xml.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/Xml.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/Xml.java
index e901f58..5d53451 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/Xml.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/Xml.java
@@ -40,7 +40,7 @@ public @interface Xml {
         * <p>
         *      Applies only to collection and array bean properties.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jk>public class</jk> MyBean {
         *              <ja>@Xml</ja>(childName=<js>"child"</js>}
@@ -98,7 +98,7 @@ public @interface Xml {
        /**
         * The {@link XmlFormat} to use for serializing this object type.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <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/xml/annotation/XmlSchema.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlSchema.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlSchema.java
index adf06e5..1bd5945 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlSchema.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/annotation/XmlSchema.java
@@ -52,7 +52,7 @@ public @interface XmlSchema {
         * <p>
         *      Inherited by child packages.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p>
         *      Contents of <code>package-info.java</code>...
         * </p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/javadoc/javadoc.css
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/javadoc/javadoc.css 
b/juneau-core/src/main/javadoc/javadoc.css
index 66d7637..dc99fdb 100755
--- a/juneau-core/src/main/javadoc/javadoc.css
+++ b/juneau-core/src/main/javadoc/javadoc.css
@@ -673,3 +673,8 @@ h1.hidden {
        font-weight: bold;
 }
 
+h5.section, h6.section {
+       color: #4e4e4e;
+       margin: 10px 0 5px 0;
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/javadoc/overview.html 
b/juneau-core/src/main/javadoc/overview.html
index f55c6a2..ce52a4e 100644
--- a/juneau-core/src/main/javadoc/overview.html
+++ b/juneau-core/src/main/javadoc/overview.html
@@ -388,12 +388,16 @@
 
        <jc>// Parse a JSON object as a HashMap&lt;String,Person&gt;.</jc>
        json = <js>"{a:{name:'John Smith',age:21},b:{name:'Joe 
Smith',age:42}}"</js>;
-       Map&lt;String,Person&gt; m4 = parser.parseMap(json, 
HashMap.<jk>class</jk>, String.<jk>class</jk>, Person.<jk>class</jk>)
+       Map&lt;String,Person&gt; m4 = parser.parse(json, 
HashMap.<jk>class</jk>, String.<jk>class</jk>, Person.<jk>class</jk>)
+
+       <jc>// Parse a JSON object as a 
HashMap&lt;String,LinkedList&lt;Person&gt;&gt;.</jc>
+       json = <js>"{a:[{name:'John Smith',age:21},{name:'Joe 
Smith',age:42}]}"</js>;
+       Map&lt;String,List&lt;Person&gt;&gt; m5 = parser.parse(json, 
HashMap.<jk>class</jk>, String.<jk>class</jk>, LinkedList.<jk>class</jk>, 
Person.<jk>class</jk>)
 
        <jc>// Parse a JSON array of integers as a Collection of Integers or 
int[] array.</jc>
        json = <js>"[1,2,3]"</js>;
-       List&lt;Integer&gt; l5 = parser.parseCollection(json, 
LinkedList.<jk>class</jk>, Integer.<jk>class</jk>);
-       <jk>int</jk>[] i6 = parser.parse(json, <jk>int</jk>[].<jk>class</jk>);
+       List&lt;Integer&gt; l6 = parser.parse(json, LinkedList.<jk>class</jk>, 
Integer.<jk>class</jk>);
+       <jk>int</jk>[] i7 = parser.parse(json, <jk>int</jk>[].<jk>class</jk>);
                </p>
                <p>
                        The parsers can also be used to populating existing 
bean and collection objects:
@@ -5330,7 +5334,7 @@
        
        <h5 class='toc'>What's new in each release</h5>
        <ul class='toc'>
-               <li><p><a class='doclink' href='#6.0.2'>6.0.2 (TBD)</a></p>
+               <li><p><a class='doclink' href='#6.1.0'>6.1.0 (TBD)</a></p>
                <li><p><a class='doclink' href='#6.0.1'>6.0.1 (Jan 3, 
2017)</a></p>
                <li><p><a class='doclink' href='#6.0.0'>6.0.0 (Oct 3, 
2016)</a></p>
                <li><p><a class='doclink' href='#5.2.0.1'>5.2.0.1 (Mar 23, 
2016)</a></p>
@@ -5397,12 +5401,11 @@
 
 
        <!-- 
========================================================================================================
 -->
-       <a id="6.0.2"></a>
-       <h3 class='topic' onclick='toggle(this)'>6.0.2 (TBD)</h3>
+       <a id="6.1.0"></a>
+       <h3 class='topic' onclick='toggle(this)'>6.1.0 (TBD)</h3>
        <div class='topic'>
                <p>
-                       Juneau 6.0.2 is a moderate update that provides 
localized serialization and parsing.
-                       For example, dates can now be serialized to and parsed 
from locale-targeted formats.
+                       Juneau 6.1.0 is a major update.
                </p>
                <p>
                        In particular, this release cleans up the {@link 
org.apache.juneau.BeanContext} API to match
@@ -5461,6 +5464,18 @@
                                <li>{@link 
org.apache.juneau.BeanContext#BEAN_timeZone} - Specifies a default timezone at 
the context level.
                                <li>{@link 
org.apache.juneau.BeanContext#BEAN_mediaType} - Specifies a default media type 
at the context level.
                        </ul>
+                       <li>Improvements to Parser class:  
+                       <ul>
+                               <li>Simplified the parse methods (e.g. 
<code>parseMap()</code>, <code>parseCollection()</code>)
+                               by replacing them with two simple methods: 
+                               <ul>
+                                       <li>{@link 
org.apache.juneau.parser.Parser#parse(Object,Class)} - Normal method.
+                                       <li>{@link 
org.apache.juneau.parser.Parser#parse(Object,Type,Type...)} - Method for 
parsing into parameterized maps and collections.
+                               </ul>
+                               <li>Arbitrarily-complex parameterized maps and 
collections can now be parsed without the need for creating intermediate 
<code>ClassMeta</code> objects.
+                               <li>No need for casting anymore if you were 
using the old <code>parseMap()</code> and <code>parseCollection()</code> 
methods!
+                               <li>Changes allow me to eliminate 
<code>BeanContext.normalizeClassMeta()</code> method.
+                       </ul>
                        <li>Simplified {@link 
org.apache.juneau.transform.PojoSwap} class.  Now just two methods:
                        <ul>
                                <li>{@link 
org.apache.juneau.transform.PojoSwap#swap(BeanSession,Object)}
@@ -5521,7 +5536,7 @@
                                </ul>
                        <li>New {@link org.apache.juneau.transform.MapSwap} and 
{@link org.apache.juneau.transform.StringSwap} classes.
                        <li>New {@link 
org.apache.juneau.serializer.WriterSerializer#println(Object)} method.  Useful 
for debugging purposes.
-                       <li>New {@link 
org.apache.juneau.BeanContext#getClassMeta(Object[])} and {@link 
org.apache.juneau.BeanSession#getClassMeta(Object[])}
+                       <li>New {@link 
org.apache.juneau.BeanContext#getClassMeta(Type,Type...)} and {@link 
org.apache.juneau.BeanSession#getClassMeta(Type,Type...)}
                                methods for retrieving Map and Collection class 
metas.  
                                Replaces the various 
<code>getMapClassMeta()</code>/<code>getCollectionClassMeta()</code> methods.  
                        <li>New section added to this document: <a 
class='doclink' href='#DTOs'>Juneau Data Transfer Objects 
(org.apache.juneau.dto)</a>
@@ -5531,6 +5546,28 @@
                <ul class='spaced-list'>
                        <li>{@link org.apache.juneau.rest.RestRequest} now 
passes locale and timezone to serializers/parsers/transforms.
                        <li>New {@link 
org.apache.juneau.rest.RestRequest#getTimeZone()} method.
+                       <li>Standardized the following methods in {@link 
org.apache.juneau.rest.RestRequest} to remove dependency on 
<code>ClassMeta</code>
+                               objects and eliminate the need for casts:
+                       <ul>
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getHeader(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getHeader(String,Object,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getHeader(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Object,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Object,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameters(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameters(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Object,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameters(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameters(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getPathParameter(String,Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getPathParameter(String,Type,Type...)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getBody(Class)}
+                               <li>{@link 
org.apache.juneau.rest.RestRequest#getBody(Type,Type...)}
+                       </ul>
                </ul>
        </div>
        
@@ -6572,10 +6609,26 @@
                
                <h6 class='topic'>Client</h6>
                <ul class='spaced-list'>
-                       <li>New convenience methods in {@link 
org.apache.juneau.rest.client.RestCall}:
+                       <li>New methods in {@link 
org.apache.juneau.rest.client.RestCall}:
                                <ol>
-                                       <li>{@link 
org.apache.juneau.rest.client.RestCall#getResponseMap(Class,Class,Class)}
-                                       <li>{@link 
org.apache.juneau.rest.client.RestCall#getResponseCollection(Class,Class)}
+<li>{@link org.apache.juneau.rest.RestRequest#getHeader(String,Class)}
+<li>{@link org.apache.juneau.rest.RestRequest#getHeader(String,Object,Class)}
+<li>{@link org.apache.juneau.rest.RestRequest#getHeader(String,Type,Type...)}
+<li>{@link org.apache.juneau.rest.RestRequest#getQueryParameter(String,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Object,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Type,Type...)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameter(String,Object,Type,Type...)}
+<li>{@link org.apache.juneau.rest.RestRequest#getQueryParameters(String,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getQueryParameters(String,Type,Type...)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Object,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameters(String,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameter(String,Type,Type...)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getFormDataParameters(String,Type,Type...)}
+<li>{@link org.apache.juneau.rest.RestRequest#getPathParameter(String,Class)}
+<li>{@link 
org.apache.juneau.rest.RestRequest#getPathParameter(String,Type,Type...)}
+<li>{@link org.apache.juneau.rest.RestRequest#getBody(Class)}
+<li>{@link org.apache.juneau.rest.RestRequest#getBody(Type,Type...)}
                                </ol>
                        </li>
                </ul>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-examples-rest/juneau-examples-rest.launch
----------------------------------------------------------------------
diff --git a/juneau-examples-rest/juneau-examples-rest.launch 
b/juneau-examples-rest/juneau-examples-rest.launch
new file mode 100644
index 0000000..129975b
--- /dev/null
+++ b/juneau-examples-rest/juneau-examples-rest.launch
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 
***************************************************************************************************************************
+ * 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.  
                                            *
+ 
***************************************************************************************************************************
+-->
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<stringAttribute key="bad_container_name" value="/juneau-examples"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry 
value="/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" 
value="true"/>
+<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" 
value="true"/>
+<booleanAttribute 
key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" 
value="org.apache.juneau.microservice.RestMicroservice"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" 
value="examples.cfg"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="juneau-examples-rest"/>
+</launchConfiguration>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java
 
b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java
index c523cbf..c056a09 100644
--- 
a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java
+++ 
b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/MethodExampleResource.java
@@ -71,7 +71,7 @@ public class MethodExampleResource extends Resource {
                UUID a3 = req.getPathParameter("a3", UUID.class);
 
                // Optional GET parameters
-               int p1 = req.getQueryParameter("p1", int.class, 0);
+               int p1 = req.getQueryParameter("p1", 0, int.class);
                String p2 = req.getQueryParameter("p2", String.class);
                UUID p3 = req.getQueryParameter("p3", UUID.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
----------------------------------------------------------------------
diff --git 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
index 6efd127..e604231 100755
--- 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
+++ 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/Microservice.java
@@ -220,7 +220,7 @@ public abstract class Microservice {
         * <p>
         * Subclasses can override this method to provide their own variables.
         * 
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jd>/**
         *       * Augment default var resolver with a custom $B{...} variable 
that simply wraps strings inside square brackets.
@@ -289,7 +289,7 @@ public abstract class Microservice {
         * <p>
         * This method can be called from the class constructor.
         * 
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <cc>#--------------------------</cc>
         *      <cc># My section</cc>
@@ -367,7 +367,7 @@ public abstract class Microservice {
         * <p>
         * This method can be called from the class constructor.
         * 
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jc>// Get Main-Class from manifest file.</jc>
         *      String mainClass = 
Microservice.<jsm>getManifest</jsm>().getString(<js>"Main-Class"</js>, 
<js>"unknown"</js>);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java
----------------------------------------------------------------------
diff --git 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java
 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java
index 839f606..a86eb4c 100755
--- 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java
+++ 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/RestMicroservice.java
@@ -85,7 +85,7 @@ public class RestMicroservice extends Microservice {
        /**
         * Constructor.
         *
-        * @param args The command line arguments.
+        * @param args Command line arguments.
         * @throws Exception
         */
        public RestMicroservice(String...args) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/AllowAllRedirects.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/AllowAllRedirects.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/AllowAllRedirects.java
index 619bfca..044e3b1 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/AllowAllRedirects.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/AllowAllRedirects.java
@@ -17,8 +17,11 @@ import org.apache.http.impl.client.*;
 /**
  * Redirect strategy that allows for redirects on any request type, not just 
<code>GET</code> or <code>HEAD</code>.
  * <p>
- * Note:  This class is similar to 
<code>org.apache.http.impl.client.LaxRedirectStrategy</code>
- *     in Apache HttpClient 4.2, but also allows for redirects on 
<code>PUTs</code> and <code>DELETEs</code>.
+ * <h5 class='section'>Notes:</h5>
+ * <ul>
+ *     <li>This class is similar to 
<code>org.apache.http.impl.client.LaxRedirectStrategy</code>
+ *             in Apache HttpClient 4.2, but also allows for redirects on 
<code>PUTs</code> and <code>DELETEs</code>.
+ * </ul>
  */
 public class AllowAllRedirects extends DefaultRedirectStrategy {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/NameValuePairs.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/NameValuePairs.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/NameValuePairs.java
index da6393a..ee97ac1 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/NameValuePairs.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/NameValuePairs.java
@@ -21,7 +21,7 @@ import org.apache.http.client.entity.*;
  * Convenience class for constructing instances of 
<code>List&lt;NameValuePair&gt;</code>
  *     for the {@link UrlEncodedFormEntity} class.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     NameValuePairs params = <jk>new</jk> NameValuePairs()
  *             .append(<jk>new</jk> BasicNameValuePair(<js>"j_username"</js>, 
user))

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponsePattern.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponsePattern.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponsePattern.java
index 7398bd1..b56797f 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponsePattern.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponsePattern.java
@@ -20,7 +20,7 @@ import java.util.regex.*;
  * <p>
  * Response patterns are applied to REST calls through the {@link 
RestCall#addResponsePattern(ResponsePattern)} method.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * This example shows how to use a response pattern finder to find and capture 
patterns for <js>"x=number"</js> and <js>"y=string"</js>
  *     from a response body.
  * <p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
index b49c59a..5fbf663 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestCall.java
@@ -13,6 +13,7 @@
 package org.apache.juneau.rest.client;
 
 import java.io.*;
+import java.lang.reflect.*;
 import java.net.*;
 import java.util.*;
 import java.util.logging.*;
@@ -47,9 +48,9 @@ import org.apache.juneau.utils.*;
  * <p>
  *     The actual connection and request/response transaction occurs when 
calling one of the <code>getResponseXXX()</code> methods.
  *
- * <h6 class='topic'>Additional Information</h6>
+ * <h5 class='section'>Additional information:</h5>
  * <ul>
- *     <li><a class='doclink' 
href='package-summary.html#RestClient'>org.apache.juneau.rest.client &gt; REST 
client API</a> for more information and code examples.
+ *     <li><a class="doclink" 
href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST 
client API</a> for more information and code examples.
  * </ul>
  */
 public final class RestCall {
@@ -339,7 +340,7 @@ public final class RestCall {
         * This method uses {@link #getCapturedResponse()} to read the response 
text and so does not affect the other output
         *      methods such as {@link #getResponseAsString()}.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jc>// Throw a RestCallException if FAILURE or ERROR is found 
in the output.</jc>
         *      restClient.doGet(<jsf>URL</jsf>)
@@ -370,7 +371,7 @@ public final class RestCall {
         * This method uses {@link #getCapturedResponse()} to read the response 
text and so does not affect the other output
         *      methods such as {@link #getResponseAsString()}.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jc>// Throw a RestCallException if SUCCESS is not found in the 
output.</jc>
         *      restClient.doGet(<jsf>URL</jsf>)
@@ -446,7 +447,7 @@ public final class RestCall {
         * The response entity is discarded unless one of the pipe methods have 
been specified to pipe the
         *       output to an output stream or writer.
         *
-        * <h6 class='topic'>Example:</h6>
+        * <h5 class='section'>Example:</h5>
         * <p class='bcode'>
         *      <jk>try</jk> {
         *              RestClient client = <jk>new</jk> RestClient();
@@ -745,6 +746,38 @@ public final class RestCall {
        }
 
        /**
+        * Same as {@link #getResponse(Class)}, but useful for parsing into 
maps and collections of specific types.
+        *
+        * @param type The class to resolve.
+        *      Can be any of the following:
+        *      <ul>
+        *              <li>{@link ClassMeta}
+        *              <li>{@link Class}
+        *              <li>{@link ParameterizedType}
+        *              <li>{@link GenericArrayType}
+        *      </ul>
+        * @param args The type arguments of the class if it's a collection or 
map.
+        *      Can be any of the following:
+        *      <ul>
+        *              <li>{@link ClassMeta}
+        *              <li>{@link Class}
+        *              <li>{@link ParameterizedType}
+        *              <li>{@link GenericArrayType}
+        *      </ul>
+        * @param <T> The class to convert the input to.
+        * @return The parsed output.
+        * @throws IOException If a connection error occurred.
+        * @throws ParseException If the input contains a syntax error or is 
malformed for the <code>Content-Type</code> header.
+        */
+       @SuppressWarnings("unchecked")
+       public <T> T getResponse(Type type, Type...args) throws IOException, 
ParseException {
+               BeanContext bc = getParser().getBeanContext();
+               if (bc == null)
+                       bc = BeanContext.DEFAULT;
+               return (T)getResponse(bc.getClassMeta(type, args));
+       }
+
+       /**
         * Parses the output from the connection into the specified type and 
then wraps that in a {@link PojoRest}.
         * <p>
         * Useful if you want to quickly retrieve a single value from inside of 
a larger JSON document.
@@ -771,61 +804,6 @@ public final class RestCall {
                return getResponsePojoRest(ObjectMap.class);
        }
 
-       /**
-        * Convenience method when you want to parse into a Map&lt;K,V&gt; 
object.
-        *
-        * <h6 class='topic'>Example:</h6>
-        * <p class='bcode'>
-        *      Map&lt;String,MyBean&gt; m = 
client.doGet(url).getResponseMap(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 #getResponse(Class)} method:
-        * </p>
-        * <p class='bcode'>
-        *      <jk>public static class</jk> MyMap <jk>extends</jk> 
LinkedHashMap&lt;String,MyBean&gt; {}
-        *
-        *      Map&lt;String,MyBean&gt; m = 
client.doGet(url).getResponse(MyMap.<jk>class</jk>);
-        * </p>
-        *
-        * @param mapClass The map class to use (e.g. <code>TreeMap</code>)
-        * @param keyClass The class type of the keys (e.g. <code>String</code>)
-        * @param valueClass The class type of the values (e.g. 
<code>MyBean</code>)
-        * @return The response parsed as a map.
-        * @throws ParseException
-        * @throws IOException
-        */
-       public final <K,V,T extends Map<K,V>> T getResponseMap(Class<T> 
mapClass, Class<K> keyClass, Class<V> valueClass) throws ParseException, 
IOException {
-               ClassMeta<T> cm = getBeanContext().getClassMeta(mapClass, 
keyClass, valueClass);
-               return getResponse(cm);
-       }
-
-       /**
-        * Convenience method when you want to parse into a Collection&lt;E&gt; 
object.
-        *
-        * <h6 class='topic'>Example:</h6>
-        * <p class='bcode'>
-        *      List&lt;MyBean&gt; l = 
client.doGet(url).getResponseCollection(LinkedList.<jk>class</jk>, 
MyBean.<jk>class</jk>);
-        * </p>
-        * <p>
-        *      A simpler approach is often to just extend the collection class 
you want and just use the normal {@link #getResponse(Class)} method:
-        * </p>
-        * <p class='bcode'>
-        *      <jk>public static class</jk> MyList <jk>extends</jk> 
LinkedList&lt;MyBean&gt; {}
-        *
-        *      List&lt;MyBean&gt; l = 
client.doGet(url).getResponse(MyList.<jk>class</jk>);
-        * </p>
-        *
-        * @param collectionClass The collection class to use (e.g. 
<code>LinkedList</code>)
-        * @param entryClass The class type of the values (e.g. 
<code>MyBean</code>)
-        * @return The response parsed as a collection.
-        * @throws ParseException
-        * @throws IOException
-        */
-       public final <E,T extends Collection<E>> T 
getResponseCollection(Class<T> collectionClass, Class<E> entryClass) throws 
ParseException, IOException {
-               ClassMeta<T> cm = 
getBeanContext().getClassMeta(collectionClass, entryClass);
-               return getResponse(cm);
-       }
-
        <T> T getResponse(ClassMeta<T> type) throws IOException, ParseException 
{
                try {
                Parser p = getParser();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index a088461..54ee36d 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -63,9 +63,9 @@ import org.apache.juneau.urlencoding.*;
  *     <li>API for interacting with remoteable services.
  * </ul>
  *
- * <h6 class='topic'>Additional Information</h6>
+ * <h5 class='section'>Additional information:</h5>
  * <ul>
- *     <li><a class='doclink' 
href='package-summary.html#RestClient'>org.apache.juneau.rest.client &gt; REST 
client API</a> for more information and code examples.
+ *     <li><a class="doclink" 
href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST 
client API</a> for more information and code examples.
  * </ul>
  */
 public class RestClient extends CoreApi {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializedNameValuePair.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializedNameValuePair.java
 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializedNameValuePair.java
index 51de853..17a7dde 100644
--- 
a/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializedNameValuePair.java
+++ 
b/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/SerializedNameValuePair.java
@@ -24,7 +24,7 @@ import org.apache.juneau.urlencoding.*;
  * Subclass of {@link NameValuePair} for serializing POJOs as URL-encoded form 
post entries
  *     using the {@link UrlEncodingSerializer class}.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     NameValuePairs params = <jk>new</jk> NameValuePairs()
  *             .append(<jk>new</jk> SerializedNameValuePair(<js>"myPojo"</js>, 
pojo, UrlEncodingSerializer.<jsf>DEFAULT_SIMPLE</jsf>))

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
index bc2242f..1a26708 100644
--- 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
+++ 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
@@ -132,8 +132,6 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
                        if (pm == null)
                                throw new 
WebApplicationException(SC_UNSUPPORTED_MEDIA_TYPE);
                        Parser p = pm.getParser();
-                       BeanContext bc = p.getBeanContext();
-                       ClassMeta<?> cm = bc.getClassMeta(gType);
                        ObjectMap mp = getMethodProperties(a);
                        mp.put("mediaType", mediaType.toString());
                        Locale locale = getLocale(headers);
@@ -142,11 +140,11 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
                                ReaderParser p2 = (ReaderParser)p;
                                InputStreamReader r = new InputStreamReader(in, 
IOUtils.UTF8);
                                ParserSession session = p2.createSession(r, mp, 
null, null, locale, timeZone, pm.getMediaType());
-                               return p2.parse(session, cm);
+                               return p2.parseSession(session, 
p.getBeanContext().getClassMeta(gType));
                        }
                        InputStreamParser p2 = (InputStreamParser)p;
                        ParserSession session = p2.createSession(in, mp, null, 
null, locale, timeZone, pm.getMediaType());
-                       return p2.parse(session, cm);
+                       return p2.parseSession(session, 
p.getBeanContext().getClassMeta(gType));
                } catch (ParseException e) {
                        throw new IOException(e);
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
index b0e54c0..bbca603 100644
--- 
a/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
+++ 
b/juneau-rest-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/JuneauProvider.java
@@ -29,7 +29,7 @@ import org.apache.juneau.xml.*;
 /**
  * Annotations applicable to subclasses of {@link BaseProvider}.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Used to associate serializers, parsers, filters, and properties with 
instances of {@link BaseProvider}.
  */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java
index ab3923f..962e432 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/Redirect.java
@@ -75,7 +75,7 @@ public final class Redirect {
         * Relative paths are interpreted as relative to the servlet path.
         *
         * @param url The URL to redirect to.
-        * @param args Optional {@link MessageFormat} arguments to replace in 
the URL string.
+        * @param args Optional {@link MessageFormat}-style arguments.
         */
        public Redirect(CharSequence url, Object...args) {
                this.url = (url == null ? null : url.toString());
@@ -98,7 +98,7 @@ public final class Redirect {
         *
         * @param httpResponseCode The HTTP response code.
         * @param url The URL to redirect to.
-        * @param args Optional {@link MessageFormat} arguments to replace in 
the URL string.
+        * @param args Optional {@link MessageFormat}-style arguments.
         */
        public Redirect(int httpResponseCode, CharSequence url, Object...args) {
                this.httpResponseCode = httpResponseCode;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest/src/main/java/org/apache/juneau/rest/RestConverter.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConverter.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConverter.java
index 9c3e378..cc401ec 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConverter.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConverter.java
@@ -24,7 +24,7 @@ import org.apache.juneau.serializer.*;
  *     converted to some other POJO after invocation of the REST method.
  * <p>
  *     Converters are associated with REST methods through the {@link 
RestMethod#converters()} annotation.
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     <jk>public class</jk> RequestEchoResource <jk>extends</jk> RestServlet {
  *

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest/src/main/java/org/apache/juneau/rest/RestException.java
----------------------------------------------------------------------
diff --git 
a/juneau-rest/src/main/java/org/apache/juneau/rest/RestException.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestException.java
index 2f510bb..4ad7fd1 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestException.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestException.java
@@ -33,7 +33,7 @@ public class RestException extends RuntimeException {
         *
         * @param status The HTTP status code.
         * @param msg The status message.
-        * @param args Optional string format arguments.
+        * @param args Optional {@link MessageFormat}-style arguments.
         */
        public RestException(int status, String msg, Object...args) {
                super(args.length == 0 ? msg : MessageFormat.format(msg, args));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest/src/main/java/org/apache/juneau/rest/RestGuard.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestGuard.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestGuard.java
index 82db0ca..6b406ca 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestGuard.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestGuard.java
@@ -19,7 +19,7 @@ import org.apache.juneau.rest.annotation.*;
 /**
  * REST method guard.
  *
- * <h6 class='topic'>Description</h6>
+ * <h5 class='section'>Description:</h5>
  * <p>
  *     Implements a guard mechanism for REST method calls that allows requests 
to be
  *             rejected before invocation of the REST method.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-rest/src/main/java/org/apache/juneau/rest/RestMatcher.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestMatcher.java 
b/juneau-rest/src/main/java/org/apache/juneau/rest/RestMatcher.java
index 84a14f3..236545f 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestMatcher.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestMatcher.java
@@ -30,7 +30,7 @@ import org.apache.juneau.rest.annotation.*;
  * This is opposite from the {@link RestMethod#guards()} annotation, where all 
guards
  *     are required to match in order to execute the method.
  *
- * <h6 class='topic'>Example:</h6>
+ * <h5 class='section'>Example:</h5>
  * <p class='bcode'>
  *     <jk>public class</jk> MyResource <jk>extends</jk> RestServlet {
  *

Reply via email to