Javadocs.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
index 092ce9e..47858fa 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/Body.java
@@ -117,6 +117,17 @@
  * 	<li class='link'>{@doc juneau-rest-server.HttpPartAnnotations.Request}

  * 	<li class='link'>{@doc juneau-rest-client.RestProxies.Request}

  * </ul>

+ *

+ * <div class='warn'>

+ * 	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized

+ * 	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes

+ * 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.

+ * 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types

+ *	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>

+ *	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either

+ *	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB

+ *	will not try to recompile it.

+ * </div>

  */

 @Documented

 @Target({PARAMETER,FIELD,METHOD,TYPE})

diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
index e4a4601..ccf3634 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormData.java
@@ -98,6 +98,17 @@
  * 	<li class='link'>{@doc juneau-rest-server.HttpPartAnnotations.Request}

  * 	<li class='link'>{@doc juneau-rest-client.RestProxies.Request}

  * </ul>

+ *

+ * <div class='warn'>

+ * 	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized

+ * 	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes

+ * 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.

+ * 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types

+ *	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>

+ *	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either

+ *	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB

+ *	will not try to recompile it.

+ * </div>

 */

 @Documented

 @Target({PARAMETER,FIELD,METHOD,TYPE})

diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html b/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
index a74a95c..082e4e9 100644
--- a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
+++ b/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/01.Body.html
@@ -13,7 +13,7 @@
  ***************************************************************************************************************************/
  -->
 
-@Body
+{updated} @Body
 
 <p>
 	The {@link oaj.http.annotation.Body @Body} annotation is used to identify POJOs to be used as the body of an HTTP request.
@@ -187,6 +187,18 @@
 		<br>Values on methods override values on POJO classes.
 </ul>
 
+<div class='warn'>
+	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized
+	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes
+ 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
+ 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
+	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
+	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either
+	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
+	will not try to recompile it.
+</div>
+
+
 <ul class='seealso'>
 	<li class='jc'>{@link oajr.RequestBody}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
diff --git a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html b/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
index e8ff562..ddd5a0f 100644
--- a/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
+++ b/juneau-doc/docs/Topics/07.juneau-rest-server/10.HttpPartAnnotations/02.FormData.html
@@ -13,7 +13,7 @@
  ***************************************************************************************************************************/
  -->
 
-@FormData
+{updated} @FormData
 
 <p>
 	The {@link oaj.http.annotation.FormData @FormData} annotation is used to retrieve request form post entries.
@@ -176,6 +176,18 @@
 	<br>The {@link oaj.http.annotation.Query @Query} annotation can be used to retrieve a URL parameter in the URL string without triggering the
 	servlet to drain the body content.
 </div>
+
+<div class='warn'>
+	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized
+	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes
+ 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
+ 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
+	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
+	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either
+	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
+	will not try to recompile it.
+</div>
+
 <ul class='seealso'>
 	<li class='jc'>{@link oajr.RequestFormData}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
diff --git a/juneau-doc/src/main/javadoc/javadoc.css b/juneau-doc/src/main/javadoc/javadoc.css
index dde428d..5788027 100755
--- a/juneau-doc/src/main/javadoc/javadoc.css
+++ b/juneau-doc/src/main/javadoc/javadoc.css
@@ -703,16 +703,3 @@
 	border-radius:10px;

 	font-size: 1.2em;

 }

-

-.new {

-	background-color:lightgreen;

-}

-

-.updated {

-	background-color:#CFC;

-}

-

-.todo {

-	background-color:#FD8;

-}

-

diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 1e4bdc3..4730b30 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -299,8 +299,8 @@
 		<li><p class=''><a class='doclink' href='#juneau-rest-server.OpenApiSchemaPartSerializing'>OpenAPI Schema Part Serializing</a></p>
 		<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations'>HTTP-Part Annotations</a></p>
 		<ol>
-			<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.Body'>@Body</a></p>
-			<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.FormData'>@FormData</a></p>
+			<li><p class='updated'><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.Body'>@Body</a></p>
+			<li><p class='updated'><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.FormData'>@FormData</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.HasFormData'>@HasFormData</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.Query'>@Query</a></p>
 			<li><p class=''><a class='doclink' href='#juneau-rest-server.HttpPartAnnotations.HasQuery'>@HasQuery</a></p>
@@ -9590,15 +9590,15 @@
 	)
 </p>
 <ul class='notes'>
-	<li class='note'>
+	<li>
 		Array properties can also use CSV/SSV/PIPES for array notation.
 		<br>Various notations can be mixed throughout.
-	<li class='note'>
+	<li>
 		Schemas and POJOs can be defined arbitrarily deep.
-	<li class='note'>
+	<li>
 		Schemas are optional.
 		They can be skipped or partially defined.
-	<li class='note'>
+	<li>
 		We make our best attempt to convert the input to the matching type.  
 		However, you will get <c>SerializeExceptions</c> if you attempt an impossible conversion.
 		(e.g. trying to serialize the string "foo" as a boolean). 
@@ -16202,7 +16202,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Body' id='juneau-rest-server.HttpPartAnnotations.Body'>7.10.1 - @Body</a></h4>
+<h4 class='topic updated' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.Body' id='juneau-rest-server.HttpPartAnnotations.Body'>7.10.1 - @Body</a></h4>
 <div class='topic'><!-- START: 7.10.1 - juneau-rest-server.HttpPartAnnotations.Body -->
 <p>
 	The {@link org.apache.juneau.http.annotation.Body @Body} annotation is used to identify POJOs to be used as the body of an HTTP request.
@@ -16376,6 +16376,18 @@
 		<br>Values on methods override values on POJO classes.
 </ul>
 
+<div class='warn'>
+	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized
+	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes
+ 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
+ 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
+	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
+	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either
+	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
+	will not try to recompile it.
+</div>
+
+
 <ul class='seealso'>
 	<li class='jc'>{@link org.apache.juneau.rest.RequestBody}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
@@ -16384,7 +16396,7 @@
 
 <!-- ==================================================================================================== -->
 
-<h4 class='topic ' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.FormData' id='juneau-rest-server.HttpPartAnnotations.FormData'>7.10.2 - @FormData</a></h4>
+<h4 class='topic updated' onclick='toggle(this)'><a href='#juneau-rest-server.HttpPartAnnotations.FormData' id='juneau-rest-server.HttpPartAnnotations.FormData'>7.10.2 - @FormData</a></h4>
 <div class='topic'><!-- START: 7.10.2 - juneau-rest-server.HttpPartAnnotations.FormData -->
 <p>
 	The {@link org.apache.juneau.http.annotation.FormData @FormData} annotation is used to retrieve request form post entries.
@@ -16547,6 +16559,18 @@
 	<br>The {@link org.apache.juneau.http.annotation.Query @Query} annotation can be used to retrieve a URL parameter in the URL string without triggering the
 	servlet to drain the body content.
 </div>
+
+<div class='warn'>
+	If using this annotation on a Spring bean, note that you are likely to encounter issues when using on parameterized
+	types such as <code>List&lt;MyBean&gt;</code>.  This is due to the fact that Spring uses CGLIB to recompile classes
+ 	at runtime, and CGLIB was written before generics were introduced into Java and is a virtually-unsupported library.
+ 	Therefore, parameterized types will often be stripped from class definitions and replaced with unparameterized types
+	(e.g. <code>List</code>).  Under these circumstances, you are likely to get <code>ClassCastExceptions</code>
+	when trying to access generalized <code>ObjectMaps</code> as beans.  The best solution to this issue is to either
+	specify the parameter as a bean array (e.g. <code>MyBean[]</code>) or declare the method as final so that CGLIB
+	will not try to recompile it.
+</div>
+
 <ul class='seealso'>
 	<li class='jc'>{@link org.apache.juneau.rest.RequestFormData}
 	<li class='link'>{@doc juneau-rest-server.OpenApiSchemaPartParsing}
diff --git a/juneau-doc/src/main/javadoc/resources/fragments/toc.html b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
index 41c7c83..baee82d 100644
--- a/juneau-doc/src/main/javadoc/resources/fragments/toc.html
+++ b/juneau-doc/src/main/javadoc/resources/fragments/toc.html
@@ -242,8 +242,8 @@
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.OpenApiSchemaPartSerializing'>OpenAPI Schema Part Serializing</a></p>
 		<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations'>HTTP-Part Annotations</a></p>
 		<ol>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.Body'>@Body</a></p>
-			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.FormData'>@FormData</a></p>
+			<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.Body'>@Body</a></p>
+			<li><p class='updated'><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.FormData'>@FormData</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.HasFormData'>@HasFormData</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.Query'>@Query</a></p>
 			<li><p class=''><a class='doclink' href='{OVERVIEW_URL}#juneau-rest-server.HttpPartAnnotations.HasQuery'>@HasQuery</a></p>
diff --git a/juneau-doc/src/main/javadoc/resources/juneau-doc.css b/juneau-doc/src/main/javadoc/resources/juneau-doc.css
index 6ee48e0..6236e11 100755
--- a/juneau-doc/src/main/javadoc/resources/juneau-doc.css
+++ b/juneau-doc/src/main/javadoc/resources/juneau-doc.css
@@ -110,9 +110,20 @@
 	cursor: zoom-out;

 	max-width: 1000px;

 }

+h5.topic {

+	margin-bottom: 20px;

+	margin-top: 40px;

+	padding-top: 3px;

+	padding-left: 10px;

+	color: #2c4557;

+	border-top: 1px groove #9eadc0;

+	max-width: 1000px;

+}

+

 h2.topic { font-size: 14pt; }

 h3.topic { font-size: 13pt; }

 h4.topic { font-size: 12pt; }

+h5.topic { font-size: 11pt; }

 

 .topic p {

 	max-width: 800px;

@@ -213,7 +224,6 @@
 

 /* Light-colored background headers */

 h5.toc, 

-h5.topic, 

 h2.title,

 div.docSummary > div.block,

 div.contentContainer > div.block > p:first-child {

@@ -245,13 +255,6 @@
 	box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);

 }

 

-h5.topic {

-	color: #2C4557;

-	padding: 5px 20px;

-	margin: 30px 10px 10px 0px;

-	text-decoration: none;

-}

-

 /* Light-colored title on package summary pages */

 div.docSummary > div.block,

 div.contentContainer > div.block > p:first-child {

@@ -487,3 +490,15 @@
 	background-color: #faced3;

 	border-left: 3px solid #b32400;

 }

+

+.new {

+	background-color:lightgreen;

+}

+

+.updated {

+	background-color:#CFC;

+}

+

+.todo {

+	background-color:#FD8;

+}

diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 0877c02..78d9919 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -50,6 +50,7 @@
 import org.apache.juneau.httppart.bean.*;

 import org.apache.juneau.internal.*;

 import org.apache.juneau.jsonschema.*;

+import org.apache.juneau.marshall.*;

 import org.apache.juneau.oapi.*;

 import org.apache.juneau.parser.*;

 import org.apache.juneau.remote.*;