http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapComboTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapComboTest.java
 
b/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapComboTest.java
index b804241..180ed34 100644
--- 
a/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapComboTest.java
+++ 
b/juneau-core-test/src/test/java/org/apache/juneau/transforms/CalendarSwapComboTest.java
@@ -12,6 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.transforms;
 
+import static org.apache.juneau.TestUtils.*;
+
+import java.lang.reflect.*;
 import java.util.*;
 
 import org.apache.juneau.*;
@@ -43,502 +46,660 @@ public class CalendarSwapComboTest extends ComboTest {
        public static Collection<Object[]> getParameters() {
                return Arrays.asList(new Object[][] {
                        {       /* 0 */
-                               "CalendarSwap.ToString/singleDate",
-                               singleDate,
-                               CalendarSwap.ToString.class,
-                               /* Json */              "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* JsonT */             "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* JsonR */             "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* Xml */               "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* XmlT */              "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* XmlR */              "<string>Sun Mar 03 
10:11:12 PST 1901</string>\n",
-                               /* XmlNs */             "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* Html */              "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* HtmlT */             "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* HtmlR */             "<string>Sun Mar 03 
10:11:12 PST 1901</string>",
-                               /* Uon */               "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* UonT */              "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* UonR */              "'Sun Mar 03 10:11:12 
PST 1901'",
-                               /* UrlEnc */    
"_value='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncT */   
"_value='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncR */   
"_value='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* MsgPack */   
"BC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* MsgPackT */  
"BC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarSwap.ToString/singleDate",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarSwap.ToString.class,
+                                       /* Json */              "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* JsonT */             "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* JsonR */             "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* Xml */               "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* XmlT */              "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* XmlR */              "<string>Sun 
Mar 03 10:11:12 PST 1901</string>\n",
+                                       /* XmlNs */             "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* Html */              "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* HtmlT */             "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* HtmlR */             "<string>Sun 
Mar 03 10:11:12 PST 1901</string>",
+                                       /* Uon */               "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* UonT */              "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* UonR */              "'Sun Mar 03 
10:11:12 PST 1901'",
+                                       /* UrlEnc */    
"_value='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncT */   
"_value='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncR */   
"_value='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* MsgPack */   
"BC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* MsgPackT */  
"BC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 1 */
-                               "CalendarSwap.ToString/dateArray",
-                               dateArray,
-                               CalendarSwap.ToString.class,
-                               /* Json */              "['Sun Mar 03 10:11:12 
PST 1901']",
-                               /* JsonT */             "['Sun Mar 03 10:11:12 
PST 1901']",
-                               /* JsonR */             "[\n\t'Sun Mar 03 
10:11:12 PST 1901'\n]",
-                               /* Xml */               "<array><string>Sun Mar 
03 10:11:12 PST 1901</string></array>",
-                               /* XmlT */              "<array><string>Sun Mar 
03 10:11:12 PST 1901</string></array>",
-                               /* XmlR */              "<array>\n\t<string>Sun 
Mar 03 10:11:12 PST 1901</string>\n</array>\n",
-                               /* XmlNs */             "<array><string>Sun Mar 
03 10:11:12 PST 1901</string></array>",
-                               /* Html */              "<ul><li>Sun Mar 03 
10:11:12 PST 1901</li></ul>",
-                               /* HtmlT */             "<ul><li>Sun Mar 03 
10:11:12 PST 1901</li></ul>",
-                               /* HtmlR */             "<ul>\n\t<li>Sun Mar 03 
10:11:12 PST 1901</li>\n</ul>\n",
-                               /* Uon */               "@('Sun Mar 03 10:11:12 
PST 1901')",
-                               /* UonT */              "@('Sun Mar 03 10:11:12 
PST 1901')",
-                               /* UonR */              "@(\n\t'Sun Mar 03 
10:11:12 PST 1901'\n)",
-                               /* UrlEnc */    
"0='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncT */   
"0='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncR */   
"0='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* MsgPack */   
"91BC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* MsgPackT */  
"91BC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 
1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 
1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarSwap.ToString/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarSwap.ToString.class,
+                                       /* Json */              "['Sun Mar 03 
10:11:12 PST 1901']",
+                                       /* JsonT */             "['Sun Mar 03 
10:11:12 PST 1901']",
+                                       /* JsonR */             "[\n\t'Sun Mar 
03 10:11:12 PST 1901'\n]",
+                                       /* Xml */               
"<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>",
+                                       /* XmlT */              
"<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>",
+                                       /* XmlR */              
"<array>\n\t<string>Sun Mar 03 10:11:12 PST 1901</string>\n</array>\n",
+                                       /* XmlNs */             
"<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>",
+                                       /* Html */              "<ul><li>Sun 
Mar 03 10:11:12 PST 1901</li></ul>",
+                                       /* HtmlT */             "<ul><li>Sun 
Mar 03 10:11:12 PST 1901</li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li>Sun Mar 03 10:11:12 PST 1901</li>\n</ul>\n",
+                                       /* Uon */               "@('Sun Mar 03 
10:11:12 PST 1901')",
+                                       /* UonT */              "@('Sun Mar 03 
10:11:12 PST 1901')",
+                                       /* UonR */              "@(\n\t'Sun Mar 
03 10:11:12 PST 1901'\n)",
+                                       /* UrlEnc */    
"0='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncT */   
"0='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncR */   
"0='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* MsgPack */   
"91BC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* MsgPackT */  
"91BC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 
1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 
1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n  
</rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 2 */
-                               "CalendarSwap.ToString",
-                               dateMap,
-                               CalendarSwap.ToString.class,
-                               /* Json */              "{foo:'Sun Mar 03 
10:11:12 PST 1901'}",
-                               /* JsonT */             "{foo:'Sun Mar 03 
10:11:12 PST 1901'}",
-                               /* JsonR */             "{\n\tfoo: 'Sun Mar 03 
10:11:12 PST 1901'\n}",
-                               /* Xml */               "<object><foo>Sun Mar 
03 10:11:12 PST 1901</foo></object>",
-                               /* XmlT */              "<object><foo>Sun Mar 
03 10:11:12 PST 1901</foo></object>",
-                               /* XmlR */              "<object>\n\t<foo>Sun 
Mar 03 10:11:12 PST 1901</foo>\n</object>\n",
-                               /* XmlNs */             "<object><foo>Sun Mar 
03 10:11:12 PST 1901</foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun Mar 03 10:11:12 PST 
1901</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               "(foo='Sun Mar 03 
10:11:12 PST 1901')",
-                               /* UonT */              "(foo='Sun Mar 03 
10:11:12 PST 1901')",
-                               /* UonR */              "(\n\tfoo='Sun Mar 03 
10:11:12 PST 1901'\n)",
-                               /* UrlEnc */    
"foo='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncT */   
"foo='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* UrlEncR */   
"foo='Sun+Mar+03+10:11:12+PST+1901'",
-                               /* MsgPack */   
"81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* MsgPackT */  
"81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarSwap.ToString",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarSwap.ToString.class,
+                                       /* Json */              "{foo:'Sun Mar 
03 10:11:12 PST 1901'}",
+                                       /* JsonT */             "{foo:'Sun Mar 
03 10:11:12 PST 1901'}",
+                                       /* JsonR */             "{\n\tfoo: 'Sun 
Mar 03 10:11:12 PST 1901'\n}",
+                                       /* Xml */               
"<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>",
+                                       /* XmlT */              
"<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo>Sun Mar 03 10:11:12 PST 1901</foo>\n</object>\n",
+                                       /* XmlNs */             
"<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun Mar 03 10:11:12 PST 
1901</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               "(foo='Sun Mar 
03 10:11:12 PST 1901')",
+                                       /* UonT */              "(foo='Sun Mar 
03 10:11:12 PST 1901')",
+                                       /* UonR */              "(\n\tfoo='Sun 
Mar 03 10:11:12 PST 1901'\n)",
+                                       /* UrlEnc */    
"foo='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncT */   
"foo='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* UrlEncR */   
"foo='Sun+Mar+03+10:11:12+PST+1901'",
+                                       /* MsgPack */   
"81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* MsgPackT */  
"81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                        {       /* 3 */
-                               "CalendarSwap.ISO8601DT/singleDate",
-                               singleDate,
-                               CalendarSwap.ISO8601DT.class,
-                               /* Json */              
"'1901-03-03T10:11:12-08:00'",
-                               /* JsonT */             
"'1901-03-03T10:11:12-08:00'",
-                               /* JsonR */             
"'1901-03-03T10:11:12-08:00'",
-                               /* Xml */               
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* XmlT */              
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* XmlR */              
"<string>1901-03-03T10:11:12-08:00</string>\n",
-                               /* XmlNs */             
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* Html */              
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* HtmlT */             
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* HtmlR */             
"<string>1901-03-03T10:11:12-08:00</string>",
-                               /* Uon */               
"1901-03-03T10:11:12-08:00",
-                               /* UonT */              
"1901-03-03T10:11:12-08:00",
-                               /* UonR */              
"1901-03-03T10:11:12-08:00",
-                               /* UrlEnc */    
"_value=1901-03-03T10:11:12-08:00",
-                               /* UrlEncT */   
"_value=1901-03-03T10:11:12-08:00",
-                               /* UrlEncR */   
"_value=1901-03-03T10:11:12-08:00",
-                               /* MsgPack */   
"B9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* MsgPackT */  
"B9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>1901-03-03T10:11:12-08:00</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarSwap.ISO8601DT/singleDate",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarSwap.ISO8601DT.class,
+                                       /* Json */              
"'1901-03-03T10:11:12-08:00'",
+                                       /* JsonT */             
"'1901-03-03T10:11:12-08:00'",
+                                       /* JsonR */             
"'1901-03-03T10:11:12-08:00'",
+                                       /* Xml */               
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* XmlT */              
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* XmlR */              
"<string>1901-03-03T10:11:12-08:00</string>\n",
+                                       /* XmlNs */             
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* Html */              
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* HtmlT */             
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* HtmlR */             
"<string>1901-03-03T10:11:12-08:00</string>",
+                                       /* Uon */               
"1901-03-03T10:11:12-08:00",
+                                       /* UonT */              
"1901-03-03T10:11:12-08:00",
+                                       /* UonR */              
"1901-03-03T10:11:12-08:00",
+                                       /* UrlEnc */    
"_value=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncT */   
"_value=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncR */   
"_value=1901-03-03T10:11:12-08:00",
+                                       /* MsgPack */   
"B9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* MsgPackT */  
"B9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>1901-03-03T10:11:12-08:00</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 4 */
-                               "CalendarSwap.ISO8601DT/dateArray",
-                               dateArray,
-                               CalendarSwap.ISO8601DT.class,
-                               /* Json */              
"['1901-03-03T10:11:12-08:00']",
-                               /* JsonT */             
"['1901-03-03T10:11:12-08:00']",
-                               /* JsonR */             
"[\n\t'1901-03-03T10:11:12-08:00'\n]",
-                               /* Xml */               
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
-                               /* XmlT */              
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
-                               /* XmlR */              
"<array>\n\t<string>1901-03-03T10:11:12-08:00</string>\n</array>\n",
-                               /* XmlNs */             
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
-                               /* Html */              
"<ul><li>1901-03-03T10:11:12-08:00</li></ul>",
-                               /* HtmlT */             
"<ul><li>1901-03-03T10:11:12-08:00</li></ul>",
-                               /* HtmlR */             
"<ul>\n\t<li>1901-03-03T10:11:12-08:00</li>\n</ul>\n",
-                               /* Uon */               
"@(1901-03-03T10:11:12-08:00)",
-                               /* UonT */              
"@(1901-03-03T10:11:12-08:00)",
-                               /* UonR */              
"@(\n\t1901-03-03T10:11:12-08:00\n)",
-                               /* UrlEnc */    "0=1901-03-03T10:11:12-08:00",
-                               /* UrlEncT */   "0=1901-03-03T10:11:12-08:00",
-                               /* UrlEncR */   "0=1901-03-03T10:11:12-08:00",
-                               /* MsgPack */   
"91B9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* MsgPackT */  
"91B9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarSwap.ISO8601DT/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarSwap.ISO8601DT.class,
+                                       /* Json */              
"['1901-03-03T10:11:12-08:00']",
+                                       /* JsonT */             
"['1901-03-03T10:11:12-08:00']",
+                                       /* JsonR */             
"[\n\t'1901-03-03T10:11:12-08:00'\n]",
+                                       /* Xml */               
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
+                                       /* XmlT */              
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
+                                       /* XmlR */              
"<array>\n\t<string>1901-03-03T10:11:12-08:00</string>\n</array>\n",
+                                       /* XmlNs */             
"<array><string>1901-03-03T10:11:12-08:00</string></array>",
+                                       /* Html */              
"<ul><li>1901-03-03T10:11:12-08:00</li></ul>",
+                                       /* HtmlT */             
"<ul><li>1901-03-03T10:11:12-08:00</li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li>1901-03-03T10:11:12-08:00</li>\n</ul>\n",
+                                       /* Uon */               
"@(1901-03-03T10:11:12-08:00)",
+                                       /* UonT */              
"@(1901-03-03T10:11:12-08:00)",
+                                       /* UonR */              
"@(\n\t1901-03-03T10:11:12-08:00\n)",
+                                       /* UrlEnc */    
"0=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncT */   
"0=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncR */   
"0=1901-03-03T10:11:12-08:00",
+                                       /* MsgPack */   
"91B9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* MsgPackT */  
"91B9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n  
</rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 5 */
-                               "CalendarSwap.ISO8601DT/dateMap",
-                               dateMap,
-                               CalendarSwap.ISO8601DT.class,
-                               /* Json */              
"{foo:'1901-03-03T10:11:12-08:00'}",
-                               /* JsonT */             
"{foo:'1901-03-03T10:11:12-08:00'}",
-                               /* JsonR */             "{\n\tfoo: 
'1901-03-03T10:11:12-08:00'\n}",
-                               /* Xml */               
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
-                               /* XmlT */              
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
-                               /* XmlR */              
"<object>\n\t<foo>1901-03-03T10:11:12-08:00</foo>\n</object>\n",
-                               /* XmlNs */             
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>1901-03-03T10:11:12-08:00</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               
"(foo=1901-03-03T10:11:12-08:00)",
-                               /* UonT */              
"(foo=1901-03-03T10:11:12-08:00)",
-                               /* UonR */              
"(\n\tfoo=1901-03-03T10:11:12-08:00\n)",
-                               /* UrlEnc */    "foo=1901-03-03T10:11:12-08:00",
-                               /* UrlEncT */   "foo=1901-03-03T10:11:12-08:00",
-                               /* UrlEncR */   "foo=1901-03-03T10:11:12-08:00",
-                               /* MsgPack */   
"81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* MsgPackT */  
"81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarSwap.ISO8601DT/dateMap",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarSwap.ISO8601DT.class,
+                                       /* Json */              
"{foo:'1901-03-03T10:11:12-08:00'}",
+                                       /* JsonT */             
"{foo:'1901-03-03T10:11:12-08:00'}",
+                                       /* JsonR */             "{\n\tfoo: 
'1901-03-03T10:11:12-08:00'\n}",
+                                       /* Xml */               
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
+                                       /* XmlT */              
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo>1901-03-03T10:11:12-08:00</foo>\n</object>\n",
+                                       /* XmlNs */             
"<object><foo>1901-03-03T10:11:12-08:00</foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>1901-03-03T10:11:12-08:00</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               
"(foo=1901-03-03T10:11:12-08:00)",
+                                       /* UonT */              
"(foo=1901-03-03T10:11:12-08:00)",
+                                       /* UonR */              
"(\n\tfoo=1901-03-03T10:11:12-08:00\n)",
+                                       /* UrlEnc */    
"foo=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncT */   
"foo=1901-03-03T10:11:12-08:00",
+                                       /* UrlEncR */   
"foo=1901-03-03T10:11:12-08:00",
+                                       /* MsgPack */   
"81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* MsgPackT */  
"81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                        {       /* 6 */
-                               "CalendarSwap.RFC2822DTZ/singleDate",
-                               singleDate,
-                               CalendarSwap.RFC2822DTZ.class,
-                               /* Json */              "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* JsonT */             "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* JsonR */             "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* Xml */               "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* XmlT */              "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* XmlR */              "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>\n",
-                               /* XmlNs */             "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* Html */              "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* HtmlT */             "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* HtmlR */             "<string>Sun, 03 Mar 
1901 18:11:12 GMT</string>",
-                               /* Uon */               "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* UonT */              "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* UonR */              "'Sun, 03 Mar 1901 
18:11:12 GMT'",
-                               /* UrlEnc */    
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncT */   
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncR */   
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* MsgPack */   
"BD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* MsgPackT */  
"BD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 
GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 
GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarSwap.RFC2822DTZ/singleDate",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarSwap.RFC2822DTZ.class,
+                                       /* Json */              "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* JsonT */             "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* JsonR */             "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* Xml */               "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* XmlT */              "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* XmlR */              "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>\n",
+                                       /* XmlNs */             "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* Html */              "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* HtmlT */             "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* HtmlR */             "<string>Sun, 
03 Mar 1901 18:11:12 GMT</string>",
+                                       /* Uon */               "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* UonT */              "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* UonR */              "'Sun, 03 Mar 
1901 18:11:12 GMT'",
+                                       /* UrlEnc */    
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncT */   
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncR */   
"_value='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* MsgPack */   
"BD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* MsgPackT */  
"BD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 
GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 
GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 7 */
-                               "CalendarSwap.RFC2822DTZ/dateArray",
-                               dateArray,
-                               CalendarSwap.RFC2822DTZ.class,
-                               /* Json */              "['Sun, 03 Mar 1901 
18:11:12 GMT']",
-                               /* JsonT */             "['Sun, 03 Mar 1901 
18:11:12 GMT']",
-                               /* JsonR */             "[\n\t'Sun, 03 Mar 1901 
18:11:12 GMT'\n]",
-                               /* Xml */               "<array><string>Sun, 03 
Mar 1901 18:11:12 GMT</string></array>",
-                               /* XmlT */              "<array><string>Sun, 03 
Mar 1901 18:11:12 GMT</string></array>",
-                               /* XmlR */              
"<array>\n\t<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n</array>\n",
-                               /* XmlNs */             "<array><string>Sun, 03 
Mar 1901 18:11:12 GMT</string></array>",
-                               /* Html */              "<ul><li>Sun, 03 Mar 
1901 18:11:12 GMT</li></ul>",
-                               /* HtmlT */             "<ul><li>Sun, 03 Mar 
1901 18:11:12 GMT</li></ul>",
-                               /* HtmlR */             "<ul>\n\t<li>Sun, 03 
Mar 1901 18:11:12 GMT</li>\n</ul>\n",
-                               /* Uon */               "@('Sun, 03 Mar 1901 
18:11:12 GMT')",
-                               /* UonT */              "@('Sun, 03 Mar 1901 
18:11:12 GMT')",
-                               /* UonR */              "@(\n\t'Sun, 03 Mar 
1901 18:11:12 GMT'\n)",
-                               /* UrlEnc */    
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncT */   
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncR */   
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* MsgPack */   
"91BD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* MsgPackT */  
"91BD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 
GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 
GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarSwap.RFC2822DTZ/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarSwap.RFC2822DTZ.class,
+                                       /* Json */              "['Sun, 03 Mar 
1901 18:11:12 GMT']",
+                                       /* JsonT */             "['Sun, 03 Mar 
1901 18:11:12 GMT']",
+                                       /* JsonR */             "[\n\t'Sun, 03 
Mar 1901 18:11:12 GMT'\n]",
+                                       /* Xml */               
"<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>",
+                                       /* XmlT */              
"<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>",
+                                       /* XmlR */              
"<array>\n\t<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n</array>\n",
+                                       /* XmlNs */             
"<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>",
+                                       /* Html */              "<ul><li>Sun, 
03 Mar 1901 18:11:12 GMT</li></ul>",
+                                       /* HtmlT */             "<ul><li>Sun, 
03 Mar 1901 18:11:12 GMT</li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li>Sun, 03 Mar 1901 18:11:12 GMT</li>\n</ul>\n",
+                                       /* Uon */               "@('Sun, 03 Mar 
1901 18:11:12 GMT')",
+                                       /* UonT */              "@('Sun, 03 Mar 
1901 18:11:12 GMT')",
+                                       /* UonR */              "@(\n\t'Sun, 03 
Mar 1901 18:11:12 GMT'\n)",
+                                       /* UrlEnc */    
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncT */   
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncR */   
"0='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* MsgPack */   
"91BD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* MsgPackT */  
"91BD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 
GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 
GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n  
</rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 8 */
-                               "CalendarSwap.RFC2822DTZ/dateMap",
-                               dateMap,
-                               CalendarSwap.RFC2822DTZ.class,
-                               /* Json */              "{foo:'Sun, 03 Mar 1901 
18:11:12 GMT'}",
-                               /* JsonT */             "{foo:'Sun, 03 Mar 1901 
18:11:12 GMT'}",
-                               /* JsonR */             "{\n\tfoo: 'Sun, 03 Mar 
1901 18:11:12 GMT'\n}",
-                               /* Xml */               "<object><foo>Sun, 03 
Mar 1901 18:11:12 GMT</foo></object>",
-                               /* XmlT */              "<object><foo>Sun, 03 
Mar 1901 18:11:12 GMT</foo></object>",
-                               /* XmlR */              "<object>\n\t<foo>Sun, 
03 Mar 1901 18:11:12 GMT</foo>\n</object>\n",
-                               /* XmlNs */             "<object><foo>Sun, 03 
Mar 1901 18:11:12 GMT</foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun, 03 Mar 1901 18:11:12 
GMT</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               "(foo='Sun, 03 Mar 1901 
18:11:12 GMT')",
-                               /* UonT */              "(foo='Sun, 03 Mar 1901 
18:11:12 GMT')",
-                               /* UonR */              "(\n\tfoo='Sun, 03 Mar 
1901 18:11:12 GMT'\n)",
-                               /* UrlEnc */    
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncT */   
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* UrlEncR */   
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
-                               /* MsgPack */   
"81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* MsgPackT */  
"81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 
GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 
GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarSwap.RFC2822DTZ/dateMap",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarSwap.RFC2822DTZ.class,
+                                       /* Json */              "{foo:'Sun, 03 
Mar 1901 18:11:12 GMT'}",
+                                       /* JsonT */             "{foo:'Sun, 03 
Mar 1901 18:11:12 GMT'}",
+                                       /* JsonR */             "{\n\tfoo: 
'Sun, 03 Mar 1901 18:11:12 GMT'\n}",
+                                       /* Xml */               
"<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>",
+                                       /* XmlT */              
"<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo>Sun, 03 Mar 1901 18:11:12 GMT</foo>\n</object>\n",
+                                       /* XmlNs */             
"<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun, 03 Mar 1901 18:11:12 
GMT</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               "(foo='Sun, 03 
Mar 1901 18:11:12 GMT')",
+                                       /* UonT */              "(foo='Sun, 03 
Mar 1901 18:11:12 GMT')",
+                                       /* UonR */              "(\n\tfoo='Sun, 
03 Mar 1901 18:11:12 GMT'\n)",
+                                       /* UrlEnc */    
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncT */   
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* UrlEncR */   
"foo='Sun,+03+Mar+1901+18:11:12+GMT'",
+                                       /* MsgPack */   
"81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* MsgPackT */  
"81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 
GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 
GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                        {       /* 9 */
-                               "CalendarLongSwap",
-                               singleDate,
-                               CalendarLongSwap.class,
-                               /* Json */              "-2172116928000",
-                               /* JsonT */             "-2172116928000",
-                               /* JsonR */             "-2172116928000",
-                               /* Xml */               
"<number>-2172116928000</number>",
-                               /* XmlT */              
"<number>-2172116928000</number>",
-                               /* XmlR */              
"<number>-2172116928000</number>\n",
-                               /* XmlNs */             
"<number>-2172116928000</number>",
-                               /* Html */              
"<number>-2172116928000</number>",
-                               /* HtmlT */             
"<number>-2172116928000</number>",
-                               /* HtmlR */             
"<number>-2172116928000</number>",
-                               /* Uon */               "-2172116928000",
-                               /* UonT */              "-2172116928000",
-                               /* UonR */              "-2172116928000",
-                               /* UrlEnc */    "_value=-2172116928000",
-                               /* UrlEncT */   "_value=-2172116928000",
-                               /* UrlEncR */   "_value=-2172116928000",
-                               /* MsgPack */   "D3FFFFFE0643BDFA00",
-                               /* MsgPackT */  "D3FFFFFE0643BDFA00",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>-2172116928000</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarLongSwap",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarLongSwap.class,
+                                       /* Json */              
"-2172116928000",
+                                       /* JsonT */             
"-2172116928000",
+                                       /* JsonR */             
"-2172116928000",
+                                       /* Xml */               
"<number>-2172116928000</number>",
+                                       /* XmlT */              
"<number>-2172116928000</number>",
+                                       /* XmlR */              
"<number>-2172116928000</number>\n",
+                                       /* XmlNs */             
"<number>-2172116928000</number>",
+                                       /* Html */              
"<number>-2172116928000</number>",
+                                       /* HtmlT */             
"<number>-2172116928000</number>",
+                                       /* HtmlR */             
"<number>-2172116928000</number>",
+                                       /* Uon */               
"-2172116928000",
+                                       /* UonT */              
"-2172116928000",
+                                       /* UonR */              
"-2172116928000",
+                                       /* UrlEnc */    "_value=-2172116928000",
+                                       /* UrlEncT */   "_value=-2172116928000",
+                                       /* UrlEncR */   "_value=-2172116928000",
+                                       /* MsgPack */   "D3FFFFFE0643BDFA00",
+                                       /* MsgPackT */  "D3FFFFFE0643BDFA00",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>-2172116928000</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 10 */
-                               "CalendarLongSwap/dateArray",
-                               dateArray,
-                               CalendarLongSwap.class,
-                               /* Json */              "[-2172116928000]",
-                               /* JsonT */             "[-2172116928000]",
-                               /* JsonR */             
"[\n\t-2172116928000\n]",
-                               /* Xml */               
"<array><number>-2172116928000</number></array>",
-                               /* XmlT */              
"<array><number>-2172116928000</number></array>",
-                               /* XmlR */              
"<array>\n\t<number>-2172116928000</number>\n</array>\n",
-                               /* XmlNs */             
"<array><number>-2172116928000</number></array>",
-                               /* Html */              
"<ul><li><number>-2172116928000</number></li></ul>",
-                               /* HtmlT */             
"<ul><li><number>-2172116928000</number></li></ul>",
-                               /* HtmlR */             
"<ul>\n\t<li><number>-2172116928000</number></li>\n</ul>\n",
-                               /* Uon */               "@(-2172116928000)",
-                               /* UonT */              "@(-2172116928000)",
-                               /* UonR */              
"@(\n\t-2172116928000\n)",
-                               /* UrlEnc */    "0=-2172116928000",
-                               /* UrlEncT */   "0=-2172116928000",
-                               /* UrlEncR */   "0=-2172116928000",
-                               /* MsgPack */   "91D3FFFFFE0643BDFA00",
-                               /* MsgPackT */  "91D3FFFFFE0643BDFA00",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li>-2172116928000</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarLongSwap/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarLongSwap.class,
+                                       /* Json */              
"[-2172116928000]",
+                                       /* JsonT */             
"[-2172116928000]",
+                                       /* JsonR */             
"[\n\t-2172116928000\n]",
+                                       /* Xml */               
"<array><number>-2172116928000</number></array>",
+                                       /* XmlT */              
"<array><number>-2172116928000</number></array>",
+                                       /* XmlR */              
"<array>\n\t<number>-2172116928000</number>\n</array>\n",
+                                       /* XmlNs */             
"<array><number>-2172116928000</number></array>",
+                                       /* Html */              
"<ul><li><number>-2172116928000</number></li></ul>",
+                                       /* HtmlT */             
"<ul><li><number>-2172116928000</number></li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li><number>-2172116928000</number></li>\n</ul>\n",
+                                       /* Uon */               
"@(-2172116928000)",
+                                       /* UonT */              
"@(-2172116928000)",
+                                       /* UonR */              
"@(\n\t-2172116928000\n)",
+                                       /* UrlEnc */    "0=-2172116928000",
+                                       /* UrlEncT */   "0=-2172116928000",
+                                       /* UrlEncR */   "0=-2172116928000",
+                                       /* MsgPack */   "91D3FFFFFE0643BDFA00",
+                                       /* MsgPackT */  "91D3FFFFFE0643BDFA00",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li>-2172116928000</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 11 */
-                               "CalendarLongSwap/dateMap",
-                               dateMap,
-                               CalendarLongSwap.class,
-                               /* Json */              "{foo:-2172116928000}",
-                               /* JsonT */             "{foo:-2172116928000}",
-                               /* JsonR */             "{\n\tfoo: 
-2172116928000\n}",
-                               /* Xml */               "<object><foo 
_type='number'>-2172116928000</foo></object>",
-                               /* XmlT */              "<object><foo 
t='number'>-2172116928000</foo></object>",
-                               /* XmlR */              "<object>\n\t<foo 
_type='number'>-2172116928000</foo>\n</object>\n",
-                               /* XmlNs */             "<object><foo 
_type='number'>-2172116928000</foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n",
-                               /* Uon */               "(foo=-2172116928000)",
-                               /* UonT */              "(foo=-2172116928000)",
-                               /* UonR */              
"(\n\tfoo=-2172116928000\n)",
-                               /* UrlEnc */    "foo=-2172116928000",
-                               /* UrlEncT */   "foo=-2172116928000",
-                               /* UrlEncR */   "foo=-2172116928000",
-                               /* MsgPack */   "81A3666F6FD3FFFFFE0643BDFA00",
-                               /* MsgPackT */  "81A3666F6FD3FFFFFE0643BDFA00",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>-2172116928000</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarLongSwap/dateMap",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarLongSwap.class,
+                                       /* Json */              
"{foo:-2172116928000}",
+                                       /* JsonT */             
"{foo:-2172116928000}",
+                                       /* JsonR */             "{\n\tfoo: 
-2172116928000\n}",
+                                       /* Xml */               "<object><foo 
_type='number'>-2172116928000</foo></object>",
+                                       /* XmlT */              "<object><foo 
t='number'>-2172116928000</foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo _type='number'>-2172116928000</foo>\n</object>\n",
+                                       /* XmlNs */             "<object><foo 
_type='number'>-2172116928000</foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               
"(foo=-2172116928000)",
+                                       /* UonT */              
"(foo=-2172116928000)",
+                                       /* UonR */              
"(\n\tfoo=-2172116928000\n)",
+                                       /* UrlEnc */    "foo=-2172116928000",
+                                       /* UrlEncT */   "foo=-2172116928000",
+                                       /* UrlEncR */   "foo=-2172116928000",
+                                       /* MsgPack */   
"81A3666F6FD3FFFFFE0643BDFA00",
+                                       /* MsgPackT */  
"81A3666F6FD3FFFFFE0643BDFA00",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>-2172116928000</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                        {       /* 12 */
-                               "CalendarMapSwap/singleDate",
-                               singleDate,
-                               CalendarMapSwap.class,
-                               /* Json */              
"{time:-2172116928000,timeZone:'PST'}",
-                               /* JsonT */             
"{time:-2172116928000,timeZone:'PST'}",
-                               /* JsonR */             "{\n\ttime: 
-2172116928000,\n\ttimeZone: 'PST'\n}",
-                               /* Xml */               "<object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
-                               /* XmlT */              "<object><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
-                               /* XmlR */              "<object>\n\t<time 
_type='number'>-2172116928000</time>\n\t<timeZone>PST</timeZone>\n</object>\n",
-                               /* XmlNs */             "<object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
-                               /* Html */              
"<table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>time</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n\t<tr>\n\t\t<td>timeZone</td>\n\t\t<td>PST</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               
"(time=-2172116928000,timeZone=PST)",
-                               /* UonT */              
"(time=-2172116928000,timeZone=PST)",
-                               /* UonR */              
"(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
-                               /* UrlEnc */    
"time=-2172116928000&timeZone=PST",
-                               /* UrlEncT */   
"time=-2172116928000&timeZone=PST",
-                               /* UrlEncR */   
"time=-2172116928000\n&timeZone=PST",
-                               /* MsgPack */   
"82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* MsgPackT */  
"82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:time>-2172116928000</jp:time>\n    
<jp:timeZone>PST</jp:timeZone>\n  </rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarMapSwap/singleDate",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarMapSwap.class,
+                                       /* Json */              
"{time:-2172116928000,timeZone:'PST'}",
+                                       /* JsonT */             
"{time:-2172116928000,timeZone:'PST'}",
+                                       /* JsonR */             "{\n\ttime: 
-2172116928000,\n\ttimeZone: 'PST'\n}",
+                                       /* Xml */               "<object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
+                                       /* XmlT */              "<object><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
+                                       /* XmlR */              
"<object>\n\t<time 
_type='number'>-2172116928000</time>\n\t<timeZone>PST</timeZone>\n</object>\n",
+                                       /* XmlNs */             "<object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object>",
+                                       /* Html */              
"<table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>time</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n\t<tr>\n\t\t<td>timeZone</td>\n\t\t<td>PST</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               
"(time=-2172116928000,timeZone=PST)",
+                                       /* UonT */              
"(time=-2172116928000,timeZone=PST)",
+                                       /* UonR */              
"(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
+                                       /* UrlEnc */    
"time=-2172116928000&timeZone=PST",
+                                       /* UrlEncT */   
"time=-2172116928000&timeZone=PST",
+                                       /* UrlEncR */   
"time=-2172116928000\n&timeZone=PST",
+                                       /* MsgPack */   
"82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* MsgPackT */  
"82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:time>-2172116928000</jp:time>\n    
<jp:timeZone>PST</jp:timeZone>\n  </rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 13 */
-                               "CalendarMapSwap/dateArray",
-                               dateArray,
-                               CalendarMapSwap.class,
-                               /* Json */              
"[{time:-2172116928000,timeZone:'PST'}]",
-                               /* JsonT */             
"[{time:-2172116928000,timeZone:'PST'}]",
-                               /* JsonR */             "[\n\t{\n\t\ttime: 
-2172116928000,\n\t\ttimeZone: 'PST'\n\t}\n]",
-                               /* Xml */               "<array><object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
-                               /* XmlT */              "<array><object><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
-                               /* XmlR */              
"<array>\n\t<object>\n\t\t<time 
_type='number'>-2172116928000</time>\n\t\t<timeZone>PST</timeZone>\n\t</object>\n</array>\n",
-                               /* XmlNs */             "<array><object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
-                               /* Html */              
"<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></li></ul>",
-                               /* HtmlT */             
"<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></li></ul>",
-                               /* HtmlR */             
"<ul>\n\t<li>\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>time</td>\n\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>timeZone</td>\n\t\t\t\t<td>PST</td>\n\t\t\t</tr>\n\t\t</table>\n\t</li>\n</ul>\n",
-                               /* Uon */               
"@((time=-2172116928000,timeZone=PST))",
-                               /* UonT */              
"@((time=-2172116928000,timeZone=PST))",
-                               /* UonR */              
"@(\n\t(\n\t\ttime=-2172116928000,\n\t\ttimeZone=PST\n\t)\n)",
-                               /* UrlEnc */    
"0=(time=-2172116928000,timeZone=PST)",
-                               /* UrlEncT */   
"0=(time=-2172116928000,timeZone=PST)",
-                               /* UrlEncR */   
"0=(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
-                               /* MsgPack */   
"9182A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* MsgPackT */  
"9182A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* RdfXml */    "<rdf:RDF>\n<rdf:Seq>\n<rdf:li 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   "<rdf:RDF>\n<rdf:Seq>\n<rdf:li 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li rdf:parseType='Resource'>\n      <jp:time>-2172116928000</jp:time>\n    
  <jp:timeZone>PST</jp:timeZone>\n    </rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarMapSwap/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarMapSwap.class,
+                                       /* Json */              
"[{time:-2172116928000,timeZone:'PST'}]",
+                                       /* JsonT */             
"[{time:-2172116928000,timeZone:'PST'}]",
+                                       /* JsonR */             
"[\n\t{\n\t\ttime: -2172116928000,\n\t\ttimeZone: 'PST'\n\t}\n]",
+                                       /* Xml */               
"<array><object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
+                                       /* XmlT */              
"<array><object><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
+                                       /* XmlR */              
"<array>\n\t<object>\n\t\t<time 
_type='number'>-2172116928000</time>\n\t\t<timeZone>PST</timeZone>\n\t</object>\n</array>\n",
+                                       /* XmlNs */             
"<array><object><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></object></array>",
+                                       /* Html */              
"<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></li></ul>",
+                                       /* HtmlT */             
"<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li>\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>time</td>\n\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>timeZone</td>\n\t\t\t\t<td>PST</td>\n\t\t\t</tr>\n\t\t</table>\n\t</li>\n</ul>\n",
+                                       /* Uon */               
"@((time=-2172116928000,timeZone=PST))",
+                                       /* UonT */              
"@((time=-2172116928000,timeZone=PST))",
+                                       /* UonR */              
"@(\n\t(\n\t\ttime=-2172116928000,\n\t\ttimeZone=PST\n\t)\n)",
+                                       /* UrlEnc */    
"0=(time=-2172116928000,timeZone=PST)",
+                                       /* UrlEncT */   
"0=(time=-2172116928000,timeZone=PST)",
+                                       /* UrlEncR */   
"0=(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
+                                       /* MsgPack */   
"9182A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* MsgPackT */  
"9182A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li rdf:parseType='Resource'>\n      
<jp:time>-2172116928000</jp:time>\n      <jp:timeZone>PST</jp:timeZone>\n    
</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 14 */
-                               "CalendarMapSwap/dateMap",
-                               dateMap,
-                               CalendarMapSwap.class,
-                               /* Json */              
"{foo:{time:-2172116928000,timeZone:'PST'}}",
-                               /* JsonT */             
"{foo:{time:-2172116928000,timeZone:'PST'}}",
-                               /* JsonR */             "{\n\tfoo: {\n\t\ttime: 
-2172116928000,\n\t\ttimeZone: 'PST'\n\t}\n}",
-                               /* Xml */               "<object><foo 
_type='object'><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
-                               /* XmlT */              "<object><foo 
t='object'><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
-                               /* XmlR */              "<object>\n\t<foo 
_type='object'>\n\t\t<time 
_type='number'>-2172116928000</time>\n\t\t<timeZone>PST</timeZone>\n\t</foo>\n</object>\n",
-                               /* XmlNs */             "<object><foo 
_type='object'><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>time</td>\n\t\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>timeZone</td>\n\t\t\t\t\t<td>PST</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               
"(foo=(time=-2172116928000,timeZone=PST))",
-                               /* UonT */              
"(foo=(time=-2172116928000,timeZone=PST))",
-                               /* UonR */              
"(\n\tfoo=(\n\t\ttime=-2172116928000,\n\t\ttimeZone=PST\n\t)\n)",
-                               /* UrlEnc */    
"foo=(time=-2172116928000,timeZone=PST)",
-                               /* UrlEncT */   
"foo=(time=-2172116928000,timeZone=PST)",
-                               /* UrlEncR */   
"foo=(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
-                               /* MsgPack */   
"81A3666F6F82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* MsgPackT */  
"81A3666F6F82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo rdf:parseType='Resource'>\n      
<jp:time>-2172116928000</jp:time>\n      <jp:timeZone>PST</jp:timeZone>\n    
</jp:foo>\n  </rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarMapSwap/dateMap",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarMapSwap.class,
+                                       /* Json */              
"{foo:{time:-2172116928000,timeZone:'PST'}}",
+                                       /* JsonT */             
"{foo:{time:-2172116928000,timeZone:'PST'}}",
+                                       /* JsonR */             "{\n\tfoo: 
{\n\t\ttime: -2172116928000,\n\t\ttimeZone: 'PST'\n\t}\n}",
+                                       /* Xml */               "<object><foo 
_type='object'><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
+                                       /* XmlT */              "<object><foo 
t='object'><time 
t='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo _type='object'>\n\t\t<time 
_type='number'>-2172116928000</time>\n\t\t<timeZone>PST</timeZone>\n\t</foo>\n</object>\n",
+                                       /* XmlNs */             "<object><foo 
_type='object'><time 
_type='number'>-2172116928000</time><timeZone>PST</timeZone></foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr><tr><td>timeZone</td><td>PST</td></tr></table></td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>time</td>\n\t\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>timeZone</td>\n\t\t\t\t\t<td>PST</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               
"(foo=(time=-2172116928000,timeZone=PST))",
+                                       /* UonT */              
"(foo=(time=-2172116928000,timeZone=PST))",
+                                       /* UonR */              
"(\n\tfoo=(\n\t\ttime=-2172116928000,\n\t\ttimeZone=PST\n\t)\n)",
+                                       /* UrlEnc */    
"foo=(time=-2172116928000,timeZone=PST)",
+                                       /* UrlEncT */   
"foo=(time=-2172116928000,timeZone=PST)",
+                                       /* UrlEncR */   
"foo=(\n\ttime=-2172116928000,\n\ttimeZone=PST\n)",
+                                       /* MsgPack */   
"81A3666F6F82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* MsgPackT */  
"81A3666F6F82A474696D65D3FFFFFE0643BDFA00A874696D655A6F6E65A3505354",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo 
rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n<jp:timeZone>PST</jp:timeZone>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo rdf:parseType='Resource'>\n      
<jp:time>-2172116928000</jp:time>\n      <jp:timeZone>PST</jp:timeZone>\n    
</jp:foo>\n  </rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                        {       /* 15 */
-                               "CalendarSwap.DateMedium/singleDate",
-                               singleDate,
-                               CalendarSwap.DateMedium.class,
-                               /* Json */              "'Mar 3, 1901'",
-                               /* JsonT */             "'Mar 3, 1901'",
-                               /* JsonR */             "'Mar 3, 1901'",
-                               /* Xml */               "<string>Mar 3, 
1901</string>",
-                               /* XmlT */              "<string>Mar 3, 
1901</string>",
-                               /* XmlR */              "<string>Mar 3, 
1901</string>\n",
-                               /* XmlNs */             "<string>Mar 3, 
1901</string>",
-                               /* Html */              "<string>Mar 3, 
1901</string>",
-                               /* HtmlT */             "<string>Mar 3, 
1901</string>",
-                               /* HtmlR */             "<string>Mar 3, 
1901</string>",
-                               /* Uon */               "'Mar 3, 1901'",
-                               /* UonT */              "'Mar 3, 1901'",
-                               /* UonR */              "'Mar 3, 1901'",
-                               /* UrlEnc */    "_value='Mar+3,+1901'",
-                               /* UrlEncT */   "_value='Mar+3,+1901'",
-                               /* UrlEncR */   "_value='Mar+3,+1901'",
-                               /* MsgPack */   "AB4D617220332C2031393031",
-                               /* MsgPackT */  "AB4D617220332C2031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Mar 3, 1901</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar>(
+                                       "CalendarSwap.DateMedium/singleDate",
+                                       Calendar.class,
+                                       singleDate,
+                                       CalendarSwap.DateMedium.class,
+                                       /* Json */              "'Mar 3, 1901'",
+                                       /* JsonT */             "'Mar 3, 1901'",
+                                       /* JsonR */             "'Mar 3, 1901'",
+                                       /* Xml */               "<string>Mar 3, 
1901</string>",
+                                       /* XmlT */              "<string>Mar 3, 
1901</string>",
+                                       /* XmlR */              "<string>Mar 3, 
1901</string>\n",
+                                       /* XmlNs */             "<string>Mar 3, 
1901</string>",
+                                       /* Html */              "<string>Mar 3, 
1901</string>",
+                                       /* HtmlT */             "<string>Mar 3, 
1901</string>",
+                                       /* HtmlR */             "<string>Mar 3, 
1901</string>",
+                                       /* Uon */               "'Mar 3, 1901'",
+                                       /* UonT */              "'Mar 3, 1901'",
+                                       /* UonR */              "'Mar 3, 1901'",
+                                       /* UrlEnc */    "_value='Mar+3,+1901'",
+                                       /* UrlEncT */   "_value='Mar+3,+1901'",
+                                       /* UrlEncR */   "_value='Mar+3,+1901'",
+                                       /* MsgPack */   
"AB4D617220332C2031393031",
+                                       /* MsgPackT */  
"AB4D617220332C2031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 
1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <j:value>Mar 3, 1901</j:value>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar o) {
+                                               assertType(Calendar.class, o);
+                                       }
+                               }
                        },
                        {       /* 16 */
-                               "CalendarSwap.DateMedium/dateArray",
-                               dateArray,
-                               CalendarSwap.DateMedium.class,
-                               /* Json */              "['Mar 3, 1901']",
-                               /* JsonT */             "['Mar 3, 1901']",
-                               /* JsonR */             "[\n\t'Mar 3, 1901'\n]",
-                               /* Xml */               "<array><string>Mar 3, 
1901</string></array>",
-                               /* XmlT */              "<array><string>Mar 3, 
1901</string></array>",
-                               /* XmlR */              "<array>\n\t<string>Mar 
3, 1901</string>\n</array>\n",
-                               /* XmlNs */             "<array><string>Mar 3, 
1901</string></array>",
-                               /* Html */              "<ul><li>Mar 3, 
1901</li></ul>",
-                               /* HtmlT */             "<ul><li>Mar 3, 
1901</li></ul>",
-                               /* HtmlR */             "<ul>\n\t<li>Mar 3, 
1901</li>\n</ul>\n",
-                               /* Uon */               "@('Mar 3, 1901')",
-                               /* UonT */              "@('Mar 3, 1901')",
-                               /* UonR */              "@(\n\t'Mar 3, 
1901'\n)",
-                               /* UrlEnc */    "0='Mar+3,+1901'",
-                               /* UrlEncT */   "0='Mar+3,+1901'",
-                               /* UrlEncR */   "0='Mar+3,+1901'",
-                               /* MsgPack */   "91AB4D617220332C2031393031",
-                               /* MsgPackT */  "91AB4D617220332C2031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  <rdf:Seq>\n    
<rdf:li>Mar 3, 1901</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n",
+                               new ComboInput2<Calendar[]>(
+                                       "CalendarSwap.DateMedium/dateArray",
+                                       Calendar[].class,
+                                       dateArray,
+                                       CalendarSwap.DateMedium.class,
+                                       /* Json */              "['Mar 3, 
1901']",
+                                       /* JsonT */             "['Mar 3, 
1901']",
+                                       /* JsonR */             "[\n\t'Mar 3, 
1901'\n]",
+                                       /* Xml */               
"<array><string>Mar 3, 1901</string></array>",
+                                       /* XmlT */              
"<array><string>Mar 3, 1901</string></array>",
+                                       /* XmlR */              
"<array>\n\t<string>Mar 3, 1901</string>\n</array>\n",
+                                       /* XmlNs */             
"<array><string>Mar 3, 1901</string></array>",
+                                       /* Html */              "<ul><li>Mar 3, 
1901</li></ul>",
+                                       /* HtmlT */             "<ul><li>Mar 3, 
1901</li></ul>",
+                                       /* HtmlR */             
"<ul>\n\t<li>Mar 3, 1901</li>\n</ul>\n",
+                                       /* Uon */               "@('Mar 3, 
1901')",
+                                       /* UonT */              "@('Mar 3, 
1901')",
+                                       /* UonR */              "@(\n\t'Mar 3, 
1901'\n)",
+                                       /* UrlEnc */    "0='Mar+3,+1901'",
+                                       /* UrlEncT */   "0='Mar+3,+1901'",
+                                       /* UrlEncR */   "0='Mar+3,+1901'",
+                                       /* MsgPack */   
"91AB4D617220332C2031393031",
+                                       /* MsgPackT */  
"91AB4D617220332C2031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Seq>\n    <rdf:li>Mar 3, 1901</rdf:li>\n  </rdf:Seq>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(Calendar[] o) {
+                                               assertType(Calendar.class, 
o[0]);
+                                       }
+                               }
                        },
                        {       /* 17 */
-                               "CalendarSwap.DateMedium/dateMap",
-                               dateMap,
-                               CalendarSwap.DateMedium.class,
-                               /* Json */              "{foo:'Mar 3, 1901'}",
-                               /* JsonT */             "{foo:'Mar 3, 1901'}",
-                               /* JsonR */             "{\n\tfoo: 'Mar 3, 
1901'\n}",
-                               /* Xml */               "<object><foo>Mar 3, 
1901</foo></object>",
-                               /* XmlT */              "<object><foo>Mar 3, 
1901</foo></object>",
-                               /* XmlR */              "<object>\n\t<foo>Mar 
3, 1901</foo>\n</object>\n",
-                               /* XmlNs */             "<object><foo>Mar 3, 
1901</foo></object>",
-                               /* Html */              
"<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>",
-                               /* HtmlT */             
"<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>",
-                               /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Mar 3, 
1901</td>\n\t</tr>\n</table>\n",
-                               /* Uon */               "(foo='Mar 3, 1901')",
-                               /* UonT */              "(foo='Mar 3, 1901')",
-                               /* UonR */              "(\n\tfoo='Mar 3, 
1901'\n)",
-                               /* UrlEnc */    "foo='Mar+3,+1901'",
-                               /* UrlEncT */   "foo='Mar+3,+1901'",
-                               /* UrlEncR */   "foo='Mar+3,+1901'",
-                               /* MsgPack */   
"81A3666F6FAB4D617220332C2031393031",
-                               /* MsgPackT */  
"81A3666F6FAB4D617220332C2031393031",
-                               /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
-                               /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Mar 3, 1901</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n",
+                               new ComboInput2<ObjectMap>(
+                                       "CalendarSwap.DateMedium/dateMap",
+                                       
getType(Map.class,String.class,Calendar.class),
+                                       dateMap,
+                                       CalendarSwap.DateMedium.class,
+                                       /* Json */              "{foo:'Mar 3, 
1901'}",
+                                       /* JsonT */             "{foo:'Mar 3, 
1901'}",
+                                       /* JsonR */             "{\n\tfoo: 'Mar 
3, 1901'\n}",
+                                       /* Xml */               
"<object><foo>Mar 3, 1901</foo></object>",
+                                       /* XmlT */              
"<object><foo>Mar 3, 1901</foo></object>",
+                                       /* XmlR */              
"<object>\n\t<foo>Mar 3, 1901</foo>\n</object>\n",
+                                       /* XmlNs */             
"<object><foo>Mar 3, 1901</foo></object>",
+                                       /* Html */              
"<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>",
+                                       /* HtmlT */             
"<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>",
+                                       /* HtmlR */             
"<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Mar 3, 
1901</td>\n\t</tr>\n</table>\n",
+                                       /* Uon */               "(foo='Mar 3, 
1901')",
+                                       /* UonT */              "(foo='Mar 3, 
1901')",
+                                       /* UonR */              "(\n\tfoo='Mar 
3, 1901'\n)",
+                                       /* UrlEnc */    "foo='Mar+3,+1901'",
+                                       /* UrlEncT */   "foo='Mar+3,+1901'",
+                                       /* UrlEncR */   "foo='Mar+3,+1901'",
+                                       /* MsgPack */   
"81A3666F6FAB4D617220332C2031393031",
+                                       /* MsgPackT */  
"81A3666F6FAB4D617220332C2031393031",
+                                       /* RdfXml */    
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlT */   
"<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 
1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n",
+                                       /* RdfXmlR */   "<rdf:RDF>\n  
<rdf:Description>\n    <jp:foo>Mar 3, 1901</jp:foo>\n  
</rdf:Description>\n</rdf:RDF>\n"
+                               )
+                               {
+                                       public void verify(ObjectMap o) {
+                                               assertType(Calendar.class, 
o.get("foo"));
+                                       }
+                               }
                        },
                });
        }
+
+       private final Class<?> swapClass;
        
-       private Class<?> swapClass;
-       
-       public CalendarSwapComboTest(
-                       String label, 
-                       Object in,
-                       Class<?> swapClass, 
-                       String oJson, String oJsonT, String oJsonR,
-                       String oXml, String oXmlT, String oXmlR, String oXmlNs,
-                       String oHtml, String oHtmlT, String oHtmlR,
-                       String oUon, String oUonT, String oUonR,
-                       String oUrlEncoding, String oUrlEncodingT, String 
oUrlEncodingR,
-                       String oMsgPack, String oMsgPackT,
-                       String oRdfXml, String oRdfXmlT, String oRdfXmlR
-               ) {
-               super(
-                       label,
-                       in, 
-                       oJson, oJsonT, oJsonR,
-                       oXml, oXmlT, oXmlR, oXmlNs,
-                       oHtml, oHtmlT, oHtmlR,
-                       oUon, oUonT, oUonR,
-                       oUrlEncoding, oUrlEncodingT, oUrlEncodingR,
-                       oMsgPack, oMsgPackT,
-                       oRdfXml, oRdfXmlT, oRdfXmlR
-               );
-               this.swapClass = swapClass;
+       public CalendarSwapComboTest(ComboInput2<?> comboInput) {
+               super(comboInput);
+               this.swapClass = comboInput.swapClass;
+       }
+               
+       public static class ComboInput2<T> extends ComboInput<T> {
+               private final Class<?> swapClass;
+               
+               public ComboInput2(
+                               String label,
+                               Type type,
+                               T in,
+                               Class<?> swapClass,
+                               String json,
+                               String jsonT,
+                               String jsonR,
+                               String xml,
+                               String xmlT,
+                               String xmlR,
+                               String xmlNs,
+                               String html,
+                               String htmlT,
+                               String htmlR,
+                               String uon,
+                               String uonT,
+                               String uonR,
+                               String urlEncoding,
+                               String urlEncodingT,
+                               String urlEncodingR,
+                               String msgPack,
+                               String msgPackT,
+                               String rdfXml,
+                               String rdfXmlT,
+                               String rdfXmlR
+                       ) {
+                       super(label, type, in, json, jsonT, jsonR, xml, xmlT, 
xmlR, xmlNs, html, htmlT, htmlR, uon, uonT, uonR, urlEncoding, urlEncodingT, 
urlEncodingR, msgPack, msgPackT, rdfXml, rdfXmlT, rdfXmlR);
+                       this.swapClass = swapClass;
+               }
        }
        
        @BeforeClass

Reply via email to