http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java
index 3c1b0f6..5859825 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java
@@ -99,15 +99,15 @@ public final class JsonParser extends ReaderParser {
        /** Default parser, all default settings.*/
        public static final JsonParser DEFAULT_STRICT = new 
JsonParser().setProperty(JSON_strictMode, true).lock();
 
-       private <T> T parseAnything(JsonParserSession session, ClassMeta<T> nt, 
ParserReader r, Object outer) throws Exception {
+       private <T> T parseAnything(JsonParserSession session, ClassMeta<T> 
eType, ParserReader r, Object outer) throws Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
-               session.setCurrentClass(ft);
-               String wrapperAttr = 
ft.getExtendedMeta(JsonClassMeta.class).getWrapperAttr();
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
+               session.setCurrentClass(sType);
+               String wrapperAttr = 
sType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr();
 
                Object o = null;
 
@@ -124,7 +124,7 @@ public final class JsonParser extends ReaderParser {
                        // Let o be null;
                } else if (c == 'n') {
                        parseKeyword(session, "null", r);
-               } else if (ft.isObject()) {
+               } else if (sType.isObject()) {
                        if (c == '{') {
                                ObjectMap m2 = new ObjectMap(bc);
                                parseIntoMap2(session, r, m2, string(), 
object());
@@ -133,7 +133,7 @@ public final class JsonParser extends ReaderParser {
                                o = parseIntoCollection2(session, r, new 
ObjectList(bc), object());
                        else if (c == '\'' || c == '"') {
                                o = parseString(session, r);
-                               if (ft.isChar())
+                               if (sType.isChar())
                                        o = o.toString().charAt(0);
                        }
                        else if (c >= '0' && c <= '9' || c == '-')
@@ -145,67 +145,67 @@ public final class JsonParser extends ReaderParser {
                                parseKeyword(session, "false", r);
                                o = Boolean.FALSE;
                        }
-               } else if (ft.isBoolean()) {
+               } else if (sType.isBoolean()) {
                        o = parseBoolean(session, r);
-               } else if (ft.isCharSequence()) {
+               } else if (sType.isCharSequence()) {
                        o = parseString(session, r);
-               } else if (ft.isChar()) {
+               } else if (sType.isChar()) {
                        o = parseString(session, r).charAt(0);
-               } else if (ft.isNumber()) {
-                       o = parseNumber(session, r, (Class<? extends 
Number>)ft.getInnerClass());
-               } else if (ft.isMap()) {
-                       Map m = (ft.canCreateNewInstance(outer) ? 
(Map)ft.newInstance(outer) : new ObjectMap(bc));
-                       o = parseIntoMap2(session, r, m, ft.getKeyType(), 
ft.getValueType());
-               } else if (ft.isCollection()) {
+               } else if (sType.isNumber()) {
+                       o = parseNumber(session, r, (Class<? extends 
Number>)sType.getInnerClass());
+               } else if (sType.isMap()) {
+                       Map m = (sType.canCreateNewInstance(outer) ? 
(Map)sType.newInstance(outer) : new ObjectMap(bc));
+                       o = parseIntoMap2(session, r, m, sType.getKeyType(), 
sType.getValueType());
+               } else if (sType.isCollection()) {
                        if (c == '{') {
                                ObjectMap m = new ObjectMap(bc);
                                parseIntoMap2(session, r, m, string(), 
object());
                                o = m.cast();
                        } else {
-                               Collection l = (ft.canCreateNewInstance(outer) 
? (Collection)ft.newInstance() : new ObjectList(bc));
-                               o = parseIntoCollection2(session, r, l, 
ft.getElementType());
+                               Collection l = 
(sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new 
ObjectList(bc));
+                               o = parseIntoCollection2(session, r, l, 
sType.getElementType());
                        }
-               } else if (ft.canCreateNewInstanceFromObjectMap(outer)) {
+               } else if (sType.canCreateNewInstanceFromObjectMap(outer)) {
                        ObjectMap m = new ObjectMap(bc);
                        parseIntoMap2(session, r, m, string(), object());
-                       o = ft.newInstanceFromObjectMap(outer, m);
-               } else if (ft.canCreateNewBean(outer)) {
-                       BeanMap m = bc.newBeanMap(outer, ft.getInnerClass());
+                       o = sType.newInstanceFromObjectMap(outer, m);
+               } else if (sType.canCreateNewBean(outer)) {
+                       BeanMap m = bc.newBeanMap(outer, sType.getInnerClass());
                        o = parseIntoBeanMap2(session, r, m).getBean();
-               } else if (ft.canCreateNewInstanceFromString(outer) && (c == 
'\'' || c == '"')) {
-                       o = ft.newInstanceFromString(outer, 
parseString(session, r));
-               } else if (ft.canCreateNewInstanceFromNumber(outer) && 
StringUtils.isFirstNumberChar((char)c)) {
-                       o = ft.newInstanceFromNumber(outer, 
parseNumber(session, r, ft.getNewInstanceFromNumberClass()));
-               } else if (ft.isArray()) {
+               } else if (sType.canCreateNewInstanceFromString(outer) && (c == 
'\'' || c == '"')) {
+                       o = sType.newInstanceFromString(outer, 
parseString(session, r));
+               } else if (sType.canCreateNewInstanceFromNumber(outer) && 
StringUtils.isFirstNumberChar((char)c)) {
+                       o = sType.newInstanceFromNumber(outer, 
parseNumber(session, r, sType.getNewInstanceFromNumberClass()));
+               } else if (sType.isArray()) {
                        if (c == '{') {
                                ObjectMap m = new ObjectMap(bc);
                                parseIntoMap2(session, r, m, string(), 
object());
                                o = m.cast();
                        } else {
-                               ArrayList l = 
(ArrayList)parseIntoCollection2(session, r, new ArrayList(), 
ft.getElementType());
-                               o = bc.toArray(ft, l);
+                               ArrayList l = 
(ArrayList)parseIntoCollection2(session, r, new ArrayList(), 
sType.getElementType());
+                               o = bc.toArray(sType, l);
                        }
                } else if (c == '{') {
                        Map m = new ObjectMap(bc);
-                       parseIntoMap2(session, r, m, ft.getKeyType(), 
ft.getValueType());
+                       parseIntoMap2(session, r, m, sType.getKeyType(), 
sType.getValueType());
                        if (m.containsKey("_class"))
                                o = ((ObjectMap)m).cast();
                        else
-                               throw new ParseException(session, "Class 
''{0}'' could not be instantiated.  Reason: ''{1}''", 
ft.getInnerClass().getName(), ft.getNotABeanReason());
-               } else if (ft.canCreateNewInstanceFromString(outer) && ! 
session.isStrictMode()) {
-                       o = ft.newInstanceFromString(outer, 
parseString(session, r));
+                               throw new ParseException(session, "Class 
''{0}'' could not be instantiated.  Reason: ''{1}''", 
sType.getInnerClass().getName(), sType.getNotABeanReason());
+               } else if (sType.canCreateNewInstanceFromString(outer) && ! 
session.isStrictMode()) {
+                       o = sType.newInstanceFromString(outer, 
parseString(session, r));
                } else {
-                       throw new ParseException(session, "Unrecognized syntax 
for class type ''{0}'', starting character ''{1}''", ft, (char)c);
+                       throw new ParseException(session, "Unrecognized syntax 
for class type ''{0}'', starting character ''{1}''", sType, (char)c);
                }
 
                if (wrapperAttr != null)
                        skipWrapperAttrEnd(session, r);
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
index 9104b49..a1df3cc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -90,22 +90,22 @@ public final class JsonSchemaSerializer extends 
JsonSerializer {
                        eType = object();
 
                ClassMeta<?> aType;                     // The actual type 
(will be null if recursion occurs)
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push(attrName, eType, null);
 
-               gType = eType.getSerializedClassMeta();
+               sType = eType.getSerializedClassMeta();
                String type = null;
 
-               if (gType.isEnum() || gType.isCharSequence() || gType.isChar())
+               if (sType.isEnum() || sType.isCharSequence() || sType.isChar())
                        type = "string";
-               else if (gType.isNumber())
+               else if (sType.isNumber())
                        type = "number";
-               else if (gType.isBoolean())
+               else if (sType.isBoolean())
                        type = "boolean";
-               else if (gType.isBean() || gType.isMap())
+               else if (sType.isBean() || sType.isMap())
                        type = "object";
-               else if (gType.isCollection() || gType.isArray())
+               else if (sType.isCollection() || sType.isArray())
                        type = "array";
                else
                        type = "any";
@@ -117,16 +117,16 @@ public final class JsonSchemaSerializer extends 
JsonSerializer {
                        out.put("transform", f);
 
                if (aType != null) {
-                       if (gType.isEnum())
-                               out.put("enum", 
getEnumStrings((Class<Enum<?>>)gType.getInnerClass()));
-                       else if (gType.isCollection() || gType.isArray()) {
-                               ClassMeta componentType = 
gType.getElementType();
-                               if (gType.isCollection() && 
isParentClass(Set.class, gType.getInnerClass()))
+                       if (sType.isEnum())
+                               out.put("enum", 
getEnumStrings((Class<Enum<?>>)sType.getInnerClass()));
+                       else if (sType.isCollection() || sType.isArray()) {
+                               ClassMeta componentType = 
sType.getElementType();
+                               if (sType.isCollection() && 
isParentClass(Set.class, sType.getInnerClass()))
                                        out.put("uniqueItems", true);
                                out.put("items", getSchema(session, 
componentType, "items", pNames));
-                       } else if (gType.isBean()) {
+                       } else if (sType.isBean()) {
                                ObjectMap properties = new ObjectMap();
-                               BeanMeta bm = 
session.getBeanContext().getBeanMeta(gType.getInnerClass());
+                               BeanMeta bm = 
session.getBeanContext().getBeanMeta(sType.getInnerClass());
                                if (pNames != null)
                                        bm = new BeanMetaFiltered(bm, pNames);
                                for (Iterator<BeanPropertyMeta> i = 
bm.getPropertyMetas().iterator(); i.hasNext();) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
index cb5297a..0493780 100644
--- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java
@@ -173,7 +173,7 @@ public class JsonSerializer extends WriterSerializer {
 
                boolean addClassAttr;           // Add "_class" attribute to 
element?
                ClassMeta<?> aType;                     // The actual type
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push(attrName, o, eType);
                boolean isRecursion = aType == null;
@@ -184,7 +184,7 @@ public class JsonSerializer extends WriterSerializer {
                        aType = object();
                }
 
-               gType = aType.getSerializedClassMeta();
+               sType = aType.getSerializedClassMeta();
                addClassAttr = (session.isAddClassAttrs() && ! 
eType.equals(aType));
 
                // Swap if necessary
@@ -194,44 +194,44 @@ public class JsonSerializer extends WriterSerializer {
 
                        // If the getSwapClass() method returns Object, we need 
to figure out
                        // the actual type now.
-                       if (gType.isObject())
-                               gType = bc.getClassMetaForObject(o);
+                       if (sType.isObject())
+                               sType = bc.getClassMetaForObject(o);
                }
 
-               String wrapperAttr = 
gType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr();
+               String wrapperAttr = 
sType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr();
                if (wrapperAttr != null) {
                        
out.append('{').cr(session.indent).attr(wrapperAttr).append(':').s();
                        session.indent++;
                }
 
                // '\0' characters are considered null.
-               if (o == null || (gType.isChar() && ((Character)o).charValue() 
== 0))
+               if (o == null || (sType.isChar() && ((Character)o).charValue() 
== 0))
                        out.append("null");
-               else if (gType.isNumber() || gType.isBoolean())
+               else if (sType.isNumber() || sType.isBoolean())
                        out.append(o);
-               else if (gType.hasToObjectMapMethod())
-                       serializeMap(session, out, gType.toObjectMap(o), gType);
-               else if (gType.isBean())
+               else if (sType.hasToObjectMapMethod())
+                       serializeMap(session, out, sType.toObjectMap(o), sType);
+               else if (sType.isBean())
                        serializeBeanMap(session, out, bc.forBean(o), 
addClassAttr);
-               else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
+               else if (sType.isUri() || (pMeta != null && pMeta.isUri()))
                        out.q().appendUri(o).q();
-               else if (gType.isMap()) {
+               else if (sType.isMap()) {
                        if (o instanceof BeanMap)
                                serializeBeanMap(session, out, (BeanMap)o, 
addClassAttr);
                        else
                                serializeMap(session, out, (Map)o, eType);
                }
-               else if (gType.isCollection()) {
+               else if (sType.isCollection()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
(Collection)o, gType);
+                               serializeCollectionMap(session, out, 
(Collection)o, sType);
                        else
                                serializeCollection(session, out, (Collection) 
o, eType);
                }
-               else if (gType.isArray()) {
+               else if (sType.isArray()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
toList(gType.getInnerClass(), o), gType);
+                               serializeCollectionMap(session, out, 
toList(sType.getInnerClass(), o), sType);
                        else
-                               serializeCollection(session, out, 
toList(gType.getInnerClass(), o), eType);
+                               serializeCollection(session, out, 
toList(sType.getInnerClass(), o), eType);
                }
                else
                        out.stringValue(session.toString(o));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
index bbda612..81b2547 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java
@@ -51,14 +51,14 @@ public final class MsgPackParser extends InputStreamParser {
        /**
         * Workhorse method.
         */
-       private <T> T parseAnything(MsgPackParserSession session, ClassMeta<T> 
nt, MsgPackInputStream is, Object outer) throws Exception {
+       private <T> T parseAnything(MsgPackParserSession session, ClassMeta<T> 
eType, MsgPackInputStream is, Object outer) throws Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
-               session.setCurrentClass(ft);
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
+               session.setCurrentClass(sType);
 
                Object o = null;
                DataType dt = is.readDataType();
@@ -79,44 +79,44 @@ public final class MsgPackParser extends InputStreamParser {
                                o = session.trim(is.readString());
                        else if (dt == BIN)
                                o = is.readBinary();
-                       else if (dt == ARRAY && ft.isObject()) {
+                       else if (dt == ARRAY && sType.isObject()) {
                                ObjectList ol = new ObjectList(bc);
                                for (int i = 0; i < length; i++)
                                        ol.add(parseAnything(session, object(), 
is, outer));
                                o = ol;
-                       } else if (dt == MAP && ft.isObject()) {
+                       } else if (dt == MAP && sType.isObject()) {
                                ObjectMap om = new ObjectMap(bc);
                                for (int i = 0; i < length; i++)
                                        om.put(parseAnything(session, string(), 
is, outer), parseAnything(session, object(), is, om));
                                o = om.cast();
                        }
 
-                       if (ft.isObject()) {
+                       if (sType.isObject()) {
                                // Do nothing.
-                       } else if (ft.isBoolean() || ft.isCharSequence() || 
ft.isChar() || ft.isNumber()) {
-                               o = bc.convertToType(o, ft);
-                       } else if (ft.isMap()) {
+                       } else if (sType.isBoolean() || sType.isCharSequence() 
|| sType.isChar() || sType.isNumber()) {
+                               o = bc.convertToType(o, sType);
+                       } else if (sType.isMap()) {
                                if (dt == MAP) {
-                                       Map m = (ft.canCreateNewInstance(outer) 
? (Map)ft.newInstance(outer) : new ObjectMap(bc));
+                                       Map m = 
(sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new 
ObjectMap(bc));
                                        for (int i = 0; i < length; i++) {
-                                               Object key = 
parseAnything(session, ft.getKeyType(), is, outer);
-                                               ClassMeta<?> vt = 
ft.getValueType();
+                                               Object key = 
parseAnything(session, sType.getKeyType(), is, outer);
+                                               ClassMeta<?> vt = 
sType.getValueType();
                                                Object value = 
parseAnything(session, vt, is, m);
                                                setName(vt, value, key);
                                                m.put(key, value);
                                        }
                                        o = m;
                                } else {
-                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, ft);
+                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, sType);
                                }
-                       } else if (ft.canCreateNewInstanceFromObjectMap(outer)) 
{
+                       } else if 
(sType.canCreateNewInstanceFromObjectMap(outer)) {
                                ObjectMap m = new ObjectMap(bc);
                                for (int i = 0; i < length; i++)
                                        m.put(parseAnything(session, string(), 
is, outer), parseAnything(session, object(), is, m));
-                               o = ft.newInstanceFromObjectMap(outer, m);
-                       } else if (ft.canCreateNewBean(outer)) {
+                               o = sType.newInstanceFromObjectMap(outer, m);
+                       } else if (sType.canCreateNewBean(outer)) {
                                if (dt == MAP) {
-                                       BeanMap m = bc.newBeanMap(outer, 
ft.getInnerClass());
+                                       BeanMap m = bc.newBeanMap(outer, 
sType.getInnerClass());
                                        for (int i = 0; i < length; i++) {
                                                String pName = 
parseAnything(session, string(), is, m.getBean(false));
                                                BeanPropertyMeta bpm = 
m.getPropertyMeta(pName);
@@ -134,39 +134,39 @@ public final class MsgPackParser extends 
InputStreamParser {
                                        }
                                        o = m.getBean();
                                } else {
-                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, ft);
+                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, sType);
                                }
-                       } else if (ft.canCreateNewInstanceFromString(outer) && 
dt == STRING) {
-                               o = ft.newInstanceFromString(outer, o == null ? 
"" : o.toString());
-                       } else if (ft.canCreateNewInstanceFromNumber(outer) && 
dt.isOneOf(INT, LONG, FLOAT, DOUBLE)) {
-                               o = ft.newInstanceFromNumber(outer, (Number)o);
-                       } else if (ft.isCollection()) {
+                       } else if (sType.canCreateNewInstanceFromString(outer) 
&& dt == STRING) {
+                               o = sType.newInstanceFromString(outer, o == 
null ? "" : o.toString());
+                       } else if (sType.canCreateNewInstanceFromNumber(outer) 
&& dt.isOneOf(INT, LONG, FLOAT, DOUBLE)) {
+                               o = sType.newInstanceFromNumber(outer, 
(Number)o);
+                       } else if (sType.isCollection()) {
                                if (dt == MAP) {
                                        ObjectMap m = new ObjectMap(bc);
                                        for (int i = 0; i < length; i++)
                                                m.put(parseAnything(session, 
string(), is, outer), parseAnything(session, object(), is, m));
                                        o = m.cast();
                                } else if (dt == ARRAY) {
-                                       Collection l = 
(ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance() : new 
ObjectList(bc));
+                                       Collection l = 
(sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new 
ObjectList(bc));
                                        for (int i = 0; i < length; i++)
-                                               l.add(parseAnything(session, 
ft.getElementType(), is, l));
+                                               l.add(parseAnything(session, 
sType.getElementType(), is, l));
                                        o = l;
                                } else {
-                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, ft);
+                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, sType);
                                }
-                       } else if (ft.isArray()) {
+                       } else if (sType.isArray()) {
                                if (dt == MAP) {
                                        ObjectMap m = new ObjectMap(bc);
                                        for (int i = 0; i < length; i++)
                                                m.put(parseAnything(session, 
string(), is, outer), parseAnything(session, object(), is, m));
                                        o = m.cast();
                                } else if (dt == ARRAY) {
-                                       Collection l = (ft.isCollection() && 
ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance() : new 
ObjectList(bc));
+                                       Collection l = (sType.isCollection() && 
sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new 
ObjectList(bc));
                                        for (int i = 0; i < length; i++)
-                                               l.add(parseAnything(session, 
ft.getElementType(), is, l));
-                                       o = bc.toArray(ft, l);
+                                               l.add(parseAnything(session, 
sType.getElementType(), is, l));
+                                       o = bc.toArray(sType, l);
                                } else {
-                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, ft);
+                                       throw new ParseException(session, 
"Invalid data type {0} encountered for parse type {1}", dt, sType);
                                }
                        } else if (dt == MAP) {
                                ObjectMap m = new ObjectMap(bc);
@@ -175,17 +175,17 @@ public final class MsgPackParser extends 
InputStreamParser {
                                if (m.containsKey("_class"))
                                        o = m.cast();
                                else
-                                       throw new ParseException(session, 
"Class ''{0}'' could not be instantiated.  Reason: ''{1}''", 
ft.getInnerClass().getName(), ft.getNotABeanReason());
+                                       throw new ParseException(session, 
"Class ''{0}'' could not be instantiated.  Reason: ''{1}''", 
sType.getInnerClass().getName(), sType.getNotABeanReason());
                        } else {
-                               throw new ParseException(session, "Invalid data 
type {0} encountered for parse type {1}", dt, ft);
+                               throw new ParseException(session, "Invalid data 
type {0} encountered for parse type {1}", dt, sType);
                        }
                }
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
index ac141e3..b60b992 100644
--- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -63,7 +63,7 @@ public class MsgPackSerializer extends OutputStreamSerializer 
{
 
                boolean addClassAttr;           // Add "_class" attribute to 
element?
                ClassMeta<?> aType;                     // The actual type
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push(attrName, o, eType);
                boolean isRecursion = aType == null;
@@ -74,7 +74,7 @@ public class MsgPackSerializer extends OutputStreamSerializer 
{
                        aType = object();
                }
 
-               gType = aType.getSerializedClassMeta();
+               sType = aType.getSerializedClassMeta();
                addClassAttr = (session.isAddClassAttrs() && ! 
eType.equals(aType));
 
                // Swap if necessary
@@ -84,40 +84,40 @@ public class MsgPackSerializer extends 
OutputStreamSerializer {
 
                        // If the getSwapClass() method returns Object, we need 
to figure out
                        // the actual type now.
-                       if (gType.isObject())
-                               gType = bc.getClassMetaForObject(o);
+                       if (sType.isObject())
+                               sType = bc.getClassMetaForObject(o);
                }
 
                // '\0' characters are considered null.
-               if (o == null || (gType.isChar() && ((Character)o).charValue() 
== 0))
+               if (o == null || (sType.isChar() && ((Character)o).charValue() 
== 0))
                        out.appendNull();
-               else if (gType.isBoolean())
+               else if (sType.isBoolean())
                        out.appendBoolean((Boolean)o);
-               else if (gType.isNumber())
+               else if (sType.isNumber())
                        out.appendNumber((Number)o);
-               else if (gType.hasToObjectMapMethod())
-                       serializeMap(session, out, gType.toObjectMap(o), gType);
-               else if (gType.isBean())
+               else if (sType.hasToObjectMapMethod())
+                       serializeMap(session, out, sType.toObjectMap(o), sType);
+               else if (sType.isBean())
                        serializeBeanMap(session, out, bc.forBean(o), 
addClassAttr);
-               else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
+               else if (sType.isUri() || (pMeta != null && pMeta.isUri()))
                        out.appendString(session.resolveUri(o.toString()));
-               else if (gType.isMap()) {
+               else if (sType.isMap()) {
                        if (o instanceof BeanMap)
                                serializeBeanMap(session, out, (BeanMap)o, 
addClassAttr);
                        else
                                serializeMap(session, out, (Map)o, eType);
                }
-               else if (gType.isCollection()) {
+               else if (sType.isCollection()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
(Collection)o, gType);
+                               serializeCollectionMap(session, out, 
(Collection)o, sType);
                        else
                                serializeCollection(session, out, (Collection) 
o, eType);
                }
-               else if (gType.isArray()) {
+               else if (sType.isArray()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
toList(gType.getInnerClass(), o), gType);
+                               serializeCollectionMap(session, out, 
toList(sType.getInnerClass(), o), sType);
                        else
-                               serializeCollection(session, out, 
toList(gType.getInnerClass(), o), eType);
+                               serializeCollection(session, out, 
toList(sType.getInnerClass(), o), eType);
                } else
                        out.appendString(session.toString(o));
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java 
b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
index b21f63b..c3c6b30 100644
--- a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java
@@ -580,21 +580,21 @@ public abstract class Parser extends CoreApi {
                if (type == null)
                        type = (ClassMeta<T>)object();
                PojoSwap transform = type.getPojoSwap();
-               ClassMeta<?> gType = type.getSerializedClassMeta();
+               ClassMeta<?> sType = type.getSerializedClassMeta();
 
                Object o = s;
-               if (gType.isChar())
+               if (sType.isChar())
                        o = s.charAt(0);
-               else if (gType.isNumber())
+               else if (sType.isNumber())
                        if (type.canCreateNewInstanceFromNumber(outer))
                                o = type.newInstanceFromNumber(outer, 
parseNumber(s, type.getNewInstanceFromNumberClass()));
                        else
-                               o = parseNumber(s, (Class<? extends 
Number>)gType.getInnerClass());
-               else if (gType.isBoolean())
+                               o = parseNumber(s, (Class<? extends 
Number>)sType.getInnerClass());
+               else if (sType.isBoolean())
                        o = Boolean.parseBoolean(s);
-               else if (! (gType.isCharSequence() || gType.isObject())) {
-                       if (gType.canCreateNewInstanceFromString(outer))
-                               o = gType.newInstanceFromString(outer, s);
+               else if (! (sType.isCharSequence() || sType.isObject())) {
+                       if (sType.canCreateNewInstanceFromString(outer))
+                               o = sType.newInstanceFromString(outer, s);
                        else
                                throw new ParseException(session, "Invalid 
conversion from string to class ''{0}''", type);
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java 
b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index ea56d52..ce423cc 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -743,18 +743,18 @@ public class SerializerSession extends Session {
 
        /**
         * Create a "_class" property that represents the name of the bean.
-        * 
-        * @param m 
+        *
+        * @param m
         *      The bean map to create a class property on.
-        * @param lexicon
-        *      The bean/pojo lexicon map to use to resolve the name of the 
bean class.
-        * @return 
+        * @param typeDictionary
+        *      The bean dictionary map to use to resolve the name of the bean 
class.
+        * @return
         *      A new bean property value.
         */
-       public BeanPropertyValue createBeanClassProperty(BeanMap<?> m, 
ClassLexicon lexicon) {
+       public BeanPropertyValue createBeanClassProperty(BeanMap<?> m, 
TypeDictionary typeDictionary) {
                BeanMeta<?> bm = m.getMeta();
                Class<?> c = bm.getClassMeta().getInnerClass();
-               String name = (lexicon == null ? null : 
lexicon.getNameForClass(c));
+               String name = (typeDictionary == null ? null : 
typeDictionary.getNameForClass(c));
                if (name == null)
                        name = c.getName();
                return new BeanPropertyValue(bm.getClassProperty(), name, null);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java
 
b/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java
index fef0331..467a2c3 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -38,7 +38,7 @@ public final class AnnotationBeanFilter<T> extends 
BeanFilter<T> {
        }
 
        private AnnotationBeanFilter(Builder<T> b) {
-               super(b.beanClass, b.properties, b.excludeProperties, 
b.interfaceClass, b.stopClass, b.sortProperties, b.propertyNamer, 
b.classLexicon, b.subTypeProperty, b.subTypes);
+               super(b.beanClass, b.properties, b.excludeProperties, 
b.interfaceClass, b.stopClass, b.sortProperties, b.propertyNamer, 
b.typeDictionary, b.subTypeProperty, b.subTypes);
        }
 
        private static class Builder<T> {
@@ -49,7 +49,7 @@ public final class AnnotationBeanFilter<T> extends 
BeanFilter<T> {
                Class<?> stopClass;
                boolean sortProperties;
                PropertyNamer propertyNamer;
-               ClassLexicon classLexicon;
+               TypeDictionary typeDictionary;
                String subTypeProperty;
                LinkedHashMap<Class<?>,String> subTypes = new 
LinkedHashMap<Class<?>,String>();
 
@@ -81,20 +81,17 @@ public final class AnnotationBeanFilter<T> extends 
BeanFilter<T> {
                                if (b.stopClass() != Object.class)
                                        stopClass = b.stopClass();
 
-                               if (b.classLexicon().length > 0)
-                                       classLexicon = new 
ClassLexicon(b.classLexicon());
+                               if (b.typeDictionary().length > 0)
+                                       typeDictionary = new 
TypeDictionary(b.typeDictionary());
 
                                if (b.subTypes().length > 0) {
                                        subTypeProperty = b.subTypeProperty();
 
                                        for (Class<?> bst : b.subTypes()) {
                                                Bean b2 = 
bst.getAnnotation(Bean.class);
-                                               Pojo p2 = 
bst.getAnnotation(Pojo.class);
                                                String name = null;
-                                               if (! b2.name().isEmpty())
-                                                       name = b2.name();
-                                               else if (! p2.name().isEmpty())
-                                                       name = p2.name();
+                                               if (! b2.typeName().isEmpty())
+                                                       name = b2.typeName();
                                                else
                                                        name = bst.getName();
                                                subTypes.put(bst, name);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java 
b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java
index 50c5c9c..e8b90ed 100644
--- a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java
+++ b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -73,7 +73,7 @@ public abstract class BeanFilter<T> {
        private final PropertyNamer propertyNamer;
        private final Class<?> interfaceClass, stopClass;
        private final boolean sortProperties;
-       private final ClassLexicon classLexicon;
+       private final TypeDictionary typeDictionary;
 
        /**
         * Constructor.
@@ -144,8 +144,8 @@ public abstract class BeanFilter<T> {
         *      Sort properties in alphabetical order.
         * @param propertyNamer
         *      The property namer to use to name bean properties.
-        * @param classLexicon
-        *      The class lexicon to use for resolving class identifier names 
from classes.
+        * @param typeDictionary
+        *      The class dictionary to use for resolving class identifier 
names from classes.
         * @param subTypeProperty
         *      Defines a virtual property on a superclass that identifies bean 
subtype classes.
         *      <p>
@@ -200,7 +200,7 @@ public abstract class BeanFilter<T> {
         * @param subTypes
         */
        @SuppressWarnings("unchecked")
-       public BeanFilter(Class<T> beanClass, String[] properties, String[] 
excludeProperties, Class<?> interfaceClass, Class<?> stopClass, boolean 
sortProperties, PropertyNamer propertyNamer, ClassLexicon classLexicon, String 
subTypeProperty, Map<Class<?>,String> subTypes) {
+       public BeanFilter(Class<T> beanClass, String[] properties, String[] 
excludeProperties, Class<?> interfaceClass, Class<?> stopClass, boolean 
sortProperties, PropertyNamer propertyNamer, TypeDictionary typeDictionary, 
String subTypeProperty, Map<Class<?>,String> subTypes) {
 
                if (beanClass == null) {
                        Class<?> c = this.getClass().getSuperclass();
@@ -232,7 +232,7 @@ public abstract class BeanFilter<T> {
                this.stopClass = stopClass;
                this.sortProperties = sortProperties;
                this.propertyNamer = propertyNamer;
-               this.classLexicon = classLexicon;
+               this.typeDictionary = typeDictionary;
                this.subTypeAttr = subTypeProperty;
                this.subTypes = subTypes == null ? null : 
Collections.unmodifiableMap(subTypes);
        }
@@ -319,12 +319,12 @@ public abstract class BeanFilter<T> {
        }
 
        /**
-        * Returns the class lexicon to use for this bean.
+        * Returns the class dictionary to use for this bean.
         *
-        * @return The class lexicon to use for this bean.
+        * @return The class dictionary to use for this bean.
         */
-       public ClassLexicon getClassLexicon() {
-               return classLexicon;
+       public TypeDictionary getTypeDictionary() {
+               return typeDictionary;
        }
 
        /**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
index 27e47fd..6dcb026 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java
@@ -81,20 +81,20 @@ public class UonParser extends ReaderParser {
         * Workhorse method.
         *
         * @param session The parser context for this parse.
-        * @param nt The class type being parsed, or <jk>null</jk> if unknown.
+        * @param eType The class type being parsed, or <jk>null</jk> if 
unknown.
         * @param r The reader being parsed.
         * @param outer The outer object (for constructing nested inner 
classes).
         * @param isUrlParamValue If <jk>true</jk>, then we're parsing a 
top-level URL-encoded value which is treated a bit different than the default 
case.
         * @return The parsed object.
         * @throws Exception
         */
-       protected <T> T parseAnything(UonParserSession session, ClassMeta<T> 
nt, ParserReader r, Object outer, boolean isUrlParamValue) throws Exception {
+       protected <T> T parseAnything(UonParserSession session, ClassMeta<T> 
eType, ParserReader r, Object outer, boolean isUrlParamValue) throws Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
 
                Object o = null;
 
@@ -105,14 +105,14 @@ public class UonParser extends ReaderParser {
 
                if (c == -1 || c == AMP) {
                        // If parameter is blank and it's an array or 
collection, return an empty list.
-                       if (ft.isArray() || ft.isCollection())
-                               o = ft.newInstance();
-                       else if (ft.isString() || ft.isObject())
+                       if (sType.isArray() || sType.isCollection())
+                               o = sType.newInstance();
+                       else if (sType.isString() || sType.isObject())
                                o = "";
-                       else if (ft.isPrimitive())
-                               o = ft.getPrimitiveDefault();
+                       else if (sType.isPrimitive())
+                               o = sType.getPrimitiveDefault();
                        // Otherwise, leave null.
-               } else if (ft.isObject()) {
+               } else if (sType.isObject()) {
                        if (flag == 0 || flag == 's') {
                                o = parseString(session, r, isUrlParamValue);
                        } else if (flag == 'b') {
@@ -125,23 +125,23 @@ public class UonParser extends ReaderParser {
                                o = m.cast();
                        } else if (flag == 'a') {
                                Collection l = new ObjectList(bc);
-                               o = parseIntoCollection(session, r, l, 
ft.getElementType(), isUrlParamValue);
+                               o = parseIntoCollection(session, r, l, 
sType.getElementType(), isUrlParamValue);
                        } else {
                                throw new ParseException(session, "Unexpected 
flag character ''{0}''.", flag);
                        }
-               } else if (ft.isBoolean()) {
+               } else if (sType.isBoolean()) {
                        o = parseBoolean(session, r);
-               } else if (ft.isCharSequence()) {
+               } else if (sType.isCharSequence()) {
                        o = parseString(session, r, isUrlParamValue);
-               } else if (ft.isChar()) {
+               } else if (sType.isChar()) {
                        String s = parseString(session, r, isUrlParamValue);
                        o = s == null ? null : s.charAt(0);
-               } else if (ft.isNumber()) {
-                       o = parseNumber(session, r, (Class<? extends 
Number>)ft.getInnerClass());
-               } else if (ft.isMap()) {
-                       Map m = (ft.canCreateNewInstance(outer) ? 
(Map)ft.newInstance(outer) : new ObjectMap(bc));
-                       o = parseIntoMap(session, r, m, ft.getKeyType(), 
ft.getValueType());
-               } else if (ft.isCollection()) {
+               } else if (sType.isNumber()) {
+                       o = parseNumber(session, r, (Class<? extends 
Number>)sType.getInnerClass());
+               } else if (sType.isMap()) {
+                       Map m = (sType.canCreateNewInstance(outer) ? 
(Map)sType.newInstance(outer) : new ObjectMap(bc));
+                       o = parseIntoMap(session, r, m, sType.getKeyType(), 
sType.getValueType());
+               } else if (sType.isCollection()) {
                        if (flag == 'o') {
                                ObjectMap m = new ObjectMap(bc);
                                parseIntoMap(session, r, m, string(), object());
@@ -150,29 +150,29 @@ public class UonParser extends ReaderParser {
                                        o = m.cast();
                                // Handle case where it's a collection, but 
only a single value was specified.
                                else {
-                                       Collection l = 
(ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance(outer) : new 
ObjectList(bc));
-                                       l.add(m.cast(ft.getElementType()));
+                                       Collection l = 
(sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new 
ObjectList(bc));
+                                       l.add(m.cast(sType.getElementType()));
                                        o = l;
                                }
                        } else {
-                               Collection l = (ft.canCreateNewInstance(outer) 
? (Collection)ft.newInstance(outer) : new ObjectList(bc));
-                               o = parseIntoCollection(session, r, l, 
ft.getElementType(), isUrlParamValue);
+                               Collection l = 
(sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new 
ObjectList(bc));
+                               o = parseIntoCollection(session, r, l, 
sType.getElementType(), isUrlParamValue);
                        }
-               } else if (ft.canCreateNewInstanceFromObjectMap(outer)) {
+               } else if (sType.canCreateNewInstanceFromObjectMap(outer)) {
                        ObjectMap m = new ObjectMap(bc);
                        parseIntoMap(session, r, m, string(), object());
-                       o = ft.newInstanceFromObjectMap(outer, m);
-               } else if (ft.canCreateNewBean(outer)) {
-                       BeanMap m = bc.newBeanMap(outer, ft.getInnerClass());
+                       o = sType.newInstanceFromObjectMap(outer, m);
+               } else if (sType.canCreateNewBean(outer)) {
+                       BeanMap m = bc.newBeanMap(outer, sType.getInnerClass());
                        m = parseIntoBeanMap(session, r, m);
                        o = m == null ? null : m.getBean();
-               } else if (ft.canCreateNewInstanceFromString(outer)) {
+               } else if (sType.canCreateNewInstanceFromString(outer)) {
                        String s = parseString(session, r, isUrlParamValue);
                        if (s != null)
-                               o = ft.newInstanceFromString(outer, s);
-               } else if (ft.canCreateNewInstanceFromNumber(outer)) {
-                       o = ft.newInstanceFromNumber(outer, 
parseNumber(session, r, ft.getNewInstanceFromNumberClass()));
-               } else if (ft.isArray()) {
+                               o = sType.newInstanceFromString(outer, s);
+               } else if (sType.canCreateNewInstanceFromNumber(outer)) {
+                       o = sType.newInstanceFromNumber(outer, 
parseNumber(session, r, sType.getNewInstanceFromNumberClass()));
+               } else if (sType.isArray()) {
                        if (flag == 'o') {
                                ObjectMap m = new ObjectMap(bc);
                                parseIntoMap(session, r, m, string(), object());
@@ -182,12 +182,12 @@ public class UonParser extends ReaderParser {
                                // Handle case where it's an array, but only a 
single value was specified.
                                else {
                                        ArrayList l = new ArrayList(1);
-                                       l.add(m.cast(ft.getElementType()));
-                                       o = bc.toArray(ft, l);
+                                       l.add(m.cast(sType.getElementType()));
+                                       o = bc.toArray(sType, l);
                                }
                        } else {
-                               ArrayList l = 
(ArrayList)parseIntoCollection(session, r, new ArrayList(), 
ft.getElementType(), isUrlParamValue);
-                               o = bc.toArray(ft, l);
+                               ArrayList l = 
(ArrayList)parseIntoCollection(session, r, new ArrayList(), 
sType.getElementType(), isUrlParamValue);
+                               o = bc.toArray(sType, l);
                        }
                } else if (flag == 'o') {
                        // It could be a non-bean with _class attribute.
@@ -196,16 +196,16 @@ public class UonParser extends ReaderParser {
                        if (m.containsKey("_class"))
                                o = m.cast();
                        else
-                               throw new ParseException(session, "Class 
''{0}'' could not be instantiated.  Reason: ''{1}''", 
ft.getInnerClass().getName(), ft.getNotABeanReason());
+                               throw new ParseException(session, "Class 
''{0}'' could not be instantiated.  Reason: ''{1}''", 
sType.getInnerClass().getName(), sType.getNotABeanReason());
                } else {
-                       throw new ParseException(session, "Class ''{0}'' could 
not be instantiated.  Reason: ''{1}''", ft.getInnerClass().getName(), 
ft.getNotABeanReason());
+                       throw new ParseException(session, "Class ''{0}'' could 
not be instantiated.  Reason: ''{1}''", sType.getInnerClass().getName(), 
sType.getNotABeanReason());
                }
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
index 1c76e6c..cb64be7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -259,7 +259,7 @@ public class UonSerializer extends WriterSerializer {
 
                boolean addClassAttr;           // Add "_class" attribute to 
element?
                ClassMeta<?> aType;                     // The actual type
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push(attrName, o, eType);
                boolean isRecursion = aType == null;
@@ -270,7 +270,7 @@ public class UonSerializer extends WriterSerializer {
                        aType = object();
                }
 
-               gType = aType.getSerializedClassMeta();
+               sType = aType.getSerializedClassMeta();
                addClassAttr = (session.isAddClassAttrs() && ! 
eType.equals(aType));
 
                // Swap if necessary
@@ -280,36 +280,36 @@ public class UonSerializer extends WriterSerializer {
 
                        // If the getSwapClass() method returns Object, we need 
to figure out
                        // the actual type now.
-                       if (gType.isObject())
-                               gType = bc.getClassMetaForObject(o);
+                       if (sType.isObject())
+                               sType = bc.getClassMetaForObject(o);
                }
 
                // '\0' characters are considered null.
-               if (o == null || (gType.isChar() && ((Character)o).charValue() 
== 0))
+               if (o == null || (sType.isChar() && ((Character)o).charValue() 
== 0))
                        out.appendObject(null, false, false, isTop);
-               else if (gType.hasToObjectMapMethod())
-                       serializeMap(session, out, gType.toObjectMap(o), eType);
-               else if (gType.isBean())
+               else if (sType.hasToObjectMapMethod())
+                       serializeMap(session, out, sType.toObjectMap(o), eType);
+               else if (sType.isBean())
                        serializeBeanMap(session, out, bc.forBean(o), 
addClassAttr);
-               else if (gType.isUri() || (pMeta != null && pMeta.isUri()))
+               else if (sType.isUri() || (pMeta != null && pMeta.isUri()))
                        out.appendUri(o, isTop);
-               else if (gType.isMap()) {
+               else if (sType.isMap()) {
                        if (o instanceof BeanMap)
                                serializeBeanMap(session, out, (BeanMap)o, 
addClassAttr);
                        else
                                serializeMap(session, out, (Map)o, eType);
                }
-               else if (gType.isCollection()) {
+               else if (sType.isCollection()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
(Collection)o, gType);
+                               serializeCollectionMap(session, out, 
(Collection)o, sType);
                        else
                                serializeCollection(session, out, (Collection) 
o, eType);
                }
-               else if (gType.isArray()) {
+               else if (sType.isArray()) {
                        if (addClassAttr)
-                               serializeCollectionMap(session, out, 
toList(gType.getInnerClass(), o), gType);
+                               serializeCollectionMap(session, out, 
toList(sType.getInnerClass(), o), sType);
                        else
-                               serializeCollection(session, out, 
toList(gType.getInnerClass(), o), eType);
+                               serializeCollection(session, out, 
toList(sType.getInnerClass(), o), eType);
                }
                else {
                        out.appendObject(o, quoteEmptyStrings, false, isTop);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
index 590581e..285604d 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java
@@ -69,13 +69,13 @@ public class UrlEncodingParser extends UonParser {
                setProperty(UON_decodeChars, true);
        }
 
-       private <T> T parseAnything(UrlEncodingParserSession session, 
ClassMeta<T> nt, ParserReader r, Object outer) throws Exception {
+       private <T> T parseAnything(UrlEncodingParserSession session, 
ClassMeta<T> eType, ParserReader r, Object outer) throws Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
 
                int c = r.peek();
                if (c == '?')
@@ -83,19 +83,19 @@ public class UrlEncodingParser extends UonParser {
 
                Object o;
 
-               if (ft.isObject()) {
+               if (sType.isObject()) {
                        ObjectMap m = new ObjectMap(bc);
                        parseIntoMap(session, r, m, bc.string(), bc.object());
                        o = m.cast();
-               } else if (ft.isMap()) {
-                       Map m = (ft.canCreateNewInstance() ? 
(Map)ft.newInstance() : new ObjectMap(bc));
-                       o = parseIntoMap(session, r, m, ft.getKeyType(), 
ft.getValueType());
-               } else if (ft.canCreateNewInstanceFromObjectMap(outer)) {
+               } else if (sType.isMap()) {
+                       Map m = (sType.canCreateNewInstance() ? 
(Map)sType.newInstance() : new ObjectMap(bc));
+                       o = parseIntoMap(session, r, m, sType.getKeyType(), 
sType.getValueType());
+               } else if (sType.canCreateNewInstanceFromObjectMap(outer)) {
                        ObjectMap m = new ObjectMap(bc);
                        parseIntoMap(session, r, m, string(), object());
-                       o = ft.newInstanceFromObjectMap(outer, m);
-               } else if (ft.canCreateNewBean(outer)) {
-                       BeanMap m = bc.newBeanMap(outer, ft.getInnerClass());
+                       o = sType.newInstanceFromObjectMap(outer, m);
+               } else if (sType.canCreateNewBean(outer)) {
+                       BeanMap m = bc.newBeanMap(outer, sType.getInnerClass());
                        m = parseIntoBeanMap(session, r, m);
                        o = m == null ? null : m.getBean();
                } else {
@@ -106,30 +106,30 @@ public class UrlEncodingParser extends UonParser {
                        if (m.containsKey("_class"))
                                o = m.cast();
                        else if (m.containsKey("_value"))
-                               o = 
session.getBeanContext().convertToType(m.get("_value"), ft);
-                       else if (ft.isCollection()) {
+                               o = 
session.getBeanContext().convertToType(m.get("_value"), sType);
+                       else if (sType.isCollection()) {
                                // ?1=foo&2=bar...
-                               Collection c2 = ft.canCreateNewInstance() ? 
(Collection)ft.newInstance() : new ObjectList(bc);
+                               Collection c2 = sType.canCreateNewInstance() ? 
(Collection)sType.newInstance() : new ObjectList(bc);
                                Map<Integer,Object> t = new 
TreeMap<Integer,Object>();
                                for (Map.Entry<String,Object> e : m.entrySet()) 
{
                                        String k = e.getKey();
                                        if (StringUtils.isNumeric(k))
-                                               t.put(Integer.valueOf(k), 
bc.convertToType(e.getValue(), ft.getElementType()));
+                                               t.put(Integer.valueOf(k), 
bc.convertToType(e.getValue(), sType.getElementType()));
                                }
                                c2.addAll(t.values());
                                o = c2;
                        } else {
-                               if (ft.getNotABeanReason() != null)
-                                       throw new ParseException(session, 
"Class ''{0}'' could not be instantiated as application/x-www-form-urlencoded.  
Reason: ''{1}''", ft, ft.getNotABeanReason());
-                               throw new ParseException(session, "Malformed 
application/x-www-form-urlencoded input for class ''{0}''.", ft);
+                               if (sType.getNotABeanReason() != null)
+                                       throw new ParseException(session, 
"Class ''{0}'' could not be instantiated as application/x-www-form-urlencoded.  
Reason: ''{1}''", sType, sType.getNotABeanReason());
+                               throw new ParseException(session, "Malformed 
application/x-www-form-urlencoded input for class ''{0}''.", sType);
                        }
                }
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
index 7b4c513..949863a 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -230,14 +230,14 @@ public class UrlEncodingSerializer extends UonSerializer {
 
                boolean addClassAttr;           // Add "_class" attribute to 
element?
                ClassMeta<?> aType;                     // The actual type
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push("root", o, object());
                session.indent--;
                if (aType == null)
                        aType = object();
 
-               gType = aType.getSerializedClassMeta();
+               sType = aType.getSerializedClassMeta();
                addClassAttr = (session.isAddClassAttrs());
 
                // Swap if necessary
@@ -247,21 +247,21 @@ public class UrlEncodingSerializer extends UonSerializer {
 
                        // If the getSwapClass() method returns Object, we need 
to figure out
                        // the actual type now.
-                       if (gType.isObject())
-                               gType = bc.getClassMetaForObject(o);
+                       if (sType.isObject())
+                               sType = bc.getClassMetaForObject(o);
                }
 
-               if (gType.isMap()) {
+               if (sType.isMap()) {
                        if (o instanceof BeanMap)
                                serializeBeanMap(session, out, (BeanMap)o, 
addClassAttr);
                        else
-                               serializeMap(session, out, (Map)o, gType);
-               } else if (gType.hasToObjectMapMethod()) {
-                       serializeMap(session, out, gType.toObjectMap(o), gType);
-               } else if (gType.isBean()) {
+                               serializeMap(session, out, (Map)o, sType);
+               } else if (sType.hasToObjectMapMethod()) {
+                       serializeMap(session, out, sType.toObjectMap(o), sType);
+               } else if (sType.isBean()) {
                        serializeBeanMap(session, out, bc.forBean(o), 
addClassAttr);
-               } else if (gType.isCollection()) {
-                       serializeMap(session, out, 
getCollectionMap((Collection)o), bc.getMapClassMeta(Map.class, Integer.class, 
gType.getElementType()));
+               } else if (sType.isCollection()) {
+                       serializeMap(session, out, 
getCollectionMap((Collection)o), bc.getMapClassMeta(Map.class, Integer.class, 
sType.getElementType()));
                } else {
                        // All other types can't be serialized as key/value 
pairs, so we create a
                        // mock key/value pair with a "_value" key.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
index 5a32382..f95d538 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java
@@ -124,14 +124,14 @@ public class XmlBeanPropertyMeta extends 
BeanPropertyMetaExtended {
                                if (cen.isEmpty())
                                        cen = 
cmProperty.getExtendedMeta(XmlClassMeta.class).getChildName();
                                if (cen == null || cen.isEmpty())
-                                       cen = 
cmProperty.getElementType().getLexiconName();
+                                       cen = 
cmProperty.getElementType().getDictionaryName();
                                if (cen == null || cen.isEmpty())
                                        cen = name;
                        } else {
                                throw new 
BeanRuntimeException(cmBean.getInnerClass(), "Annotation error on property 
''{0}''.  @Xml.format=COLLAPSED can only be specified on collections and 
arrays.", name);
                        }
                        if (cen.isEmpty() && isCollection)
-                               cen = cmProperty.getLexiconName();
+                               cen = cmProperty.getDictionaryName();
                }
 
                try {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
index 6c388f2..d8e1e82 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java
@@ -62,14 +62,14 @@ public class XmlParser extends ReaderParser {
        private static final int UNKNOWN=0, OBJECT=1, ARRAY=2, STRING=3, 
NUMBER=4, BOOLEAN=5, NULL=6;
 
 
-       private <T> T parseAnything(XmlParserSession session, ClassMeta<T> nt, 
String currAttr, XMLStreamReader r, Object outer, boolean isRoot) throws 
Exception {
+       private <T> T parseAnything(XmlParserSession session, ClassMeta<T> 
eType, String currAttr, XMLStreamReader r, Object outer, boolean isRoot) throws 
Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
-               session.setCurrentClass(ft);
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
+               session.setCurrentClass(sType);
 
                String wrapperAttr = (isRoot && 
session.isPreserveRootElement()) ? r.getName().getLocalPart() : null;
                String typeAttr = r.getAttributeValue(null, "type");
@@ -85,10 +85,10 @@ public class XmlParser extends ReaderParser {
                        else
                                jsonType = getJsonType(elementName);
                }
-               if (! ft.canCreateNewInstance(outer)) {
+               if (! sType.canCreateNewInstance(outer)) {
                        String c = r.getAttributeValue(null, "_class");
                        if (c != null) {
-                               ft = nt = 
(ClassMeta<T>)bc.getClassMetaFromString(c);
+                               sType = eType = 
(ClassMeta<T>)bc.getClassMetaFromString(c);
                        }
                }
                Object o = null;
@@ -105,7 +105,7 @@ public class XmlParser extends ReaderParser {
                        }
                }
 
-               if (ft.isObject()) {
+               if (sType.isObject()) {
                        if (jsonType == OBJECT) {
                                ObjectMap m = new ObjectMap(bc);
                                parseIntoMap(session, r, m, string(), object());
@@ -116,7 +116,7 @@ public class XmlParser extends ReaderParser {
                                o = parseIntoCollection(session, r, new 
ObjectList(bc), object());
                        else if (jsonType == STRING) {
                                o = session.decodeString(r.getElementText());
-                               if (ft.isChar())
+                               if (sType.isChar())
                                        o = o.toString().charAt(0);
                        }
                        else if (jsonType == NUMBER)
@@ -125,30 +125,30 @@ public class XmlParser extends ReaderParser {
                                o = 
Boolean.parseBoolean(session.decodeLiteral(r.getElementText()));
                        else if (jsonType == UNKNOWN)
                                o = getUnknown(session, r);
-               } else if (ft.isBoolean()) {
+               } else if (sType.isBoolean()) {
                        o = 
Boolean.parseBoolean(session.decodeLiteral(r.getElementText()));
-               } else if (ft.isCharSequence()) {
+               } else if (sType.isCharSequence()) {
                        o = session.decodeString(r.getElementText());
-               } else if (ft.isChar()) {
+               } else if (sType.isChar()) {
                        o = session.decodeString(r.getElementText()).charAt(0);
-               } else if (ft.isMap()) {
-                       Map m = (ft.canCreateNewInstance(outer) ? 
(Map)ft.newInstance(outer) : new ObjectMap(bc));
-                       o = parseIntoMap(session, r, m, ft.getKeyType(), 
ft.getValueType());
+               } else if (sType.isMap()) {
+                       Map m = (sType.canCreateNewInstance(outer) ? 
(Map)sType.newInstance(outer) : new ObjectMap(bc));
+                       o = parseIntoMap(session, r, m, sType.getKeyType(), 
sType.getValueType());
                        if (wrapperAttr != null)
                                o = new ObjectMap(bc).append(wrapperAttr, m);
-               } else if (ft.isCollection()) {
-                       Collection l = (ft.canCreateNewInstance(outer) ? 
(Collection)ft.newInstance(outer) : new ObjectList(bc));
-                       o = parseIntoCollection(session, r, l, 
ft.getElementType());
-               } else if (ft.isNumber()) {
-                       o = 
parseNumber(session.decodeLiteral(r.getElementText()), (Class<? extends 
Number>)ft.getInnerClass());
-               } else if (ft.canCreateNewInstanceFromObjectMap(outer)) {
+               } else if (sType.isCollection()) {
+                       Collection l = (sType.canCreateNewInstance(outer) ? 
(Collection)sType.newInstance(outer) : new ObjectList(bc));
+                       o = parseIntoCollection(session, r, l, 
sType.getElementType());
+               } else if (sType.isNumber()) {
+                       o = 
parseNumber(session.decodeLiteral(r.getElementText()), (Class<? extends 
Number>)sType.getInnerClass());
+               } else if (sType.canCreateNewInstanceFromObjectMap(outer)) {
                        ObjectMap m = new ObjectMap(bc);
                        parseIntoMap(session, r, m, string(), object());
-                       o = ft.newInstanceFromObjectMap(outer, m);
-               } else if (ft.canCreateNewBean(outer)) {
-                       if (ft.getExtendedMeta(XmlClassMeta.class).getFormat() 
== XmlFormat.COLLAPSED) {
+                       o = sType.newInstanceFromObjectMap(outer, m);
+               } else if (sType.canCreateNewBean(outer)) {
+                       if 
(sType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED) {
                                String fieldName = r.getLocalName();
-                               BeanMap<?> m = bc.newBeanMap(outer, 
ft.getInnerClass());
+                               BeanMap<?> m = bc.newBeanMap(outer, 
sType.getInnerClass());
                                BeanPropertyMeta bpm = 
m.getMeta().getExtendedMeta(XmlBeanMeta.class).getPropertyMeta(fieldName);
                                ClassMeta<?> cm = m.getMeta().getClassMeta();
                                Object value = parseAnything(session, cm, 
currAttr, r, m.getBean(false), false);
@@ -156,25 +156,25 @@ public class XmlParser extends ReaderParser {
                                bpm.set(m, value);
                                o = m.getBean();
                        } else {
-                               BeanMap m = bc.newBeanMap(outer, 
ft.getInnerClass());
+                               BeanMap m = bc.newBeanMap(outer, 
sType.getInnerClass());
                                o = parseIntoBean(session, r, m).getBean();
                        }
-               } else if (ft.isArray()) {
-                       ArrayList l = (ArrayList)parseIntoCollection(session, 
r, new ArrayList(), ft.getElementType());
-                       o = bc.toArray(ft, l);
-               } else if (ft.canCreateNewInstanceFromString(outer)) {
-                       o = ft.newInstanceFromString(outer, 
session.decodeString(r.getElementText()));
-               } else if (ft.canCreateNewInstanceFromNumber(outer)) {
-                       o = ft.newInstanceFromNumber(outer, 
parseNumber(session.decodeLiteral(r.getElementText()), 
ft.getNewInstanceFromNumberClass()));
+               } else if (sType.isArray()) {
+                       ArrayList l = (ArrayList)parseIntoCollection(session, 
r, new ArrayList(), sType.getElementType());
+                       o = bc.toArray(sType, l);
+               } else if (sType.canCreateNewInstanceFromString(outer)) {
+                       o = sType.newInstanceFromString(outer, 
session.decodeString(r.getElementText()));
+               } else if (sType.canCreateNewInstanceFromNumber(outer)) {
+                       o = sType.newInstanceFromNumber(outer, 
parseNumber(session.decodeLiteral(r.getElementText()), 
sType.getNewInstanceFromNumberClass()));
                } else {
-                       throw new ParseException(session, "Class ''{0}'' could 
not be instantiated.  Reason: ''{1}''", ft.getInnerClass().getName(), 
ft.getNotABeanReason());
+                       throw new ParseException(session, "Class ''{0}'' could 
not be instantiated.  Reason: ''{1}''", sType.getInnerClass().getName(), 
sType.getNotABeanReason());
                }
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
index 8e64065..b3c311b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java
@@ -197,9 +197,9 @@ public class XmlSchemaSerializer extends XmlSerializer {
                                queueElement(ns, "null", object());
                        else {
                                XmlClassMeta xmlMeta = 
cm.getExtendedMeta(XmlClassMeta.class);
-                               if (cm.getLexiconName() != null && 
xmlMeta.getNamespace() != null)
+                               if (cm.getDictionaryName() != null && 
xmlMeta.getNamespace() != null)
                                        ns = xmlMeta.getNamespace();
-                               queueElement(ns, cm.getLexiconName(), cm);
+                               queueElement(ns, cm.getDictionaryName(), cm);
                        }
                        processQueue();
                }
@@ -521,7 +521,7 @@ public class XmlSchemaSerializer extends XmlSerializer {
 
                private String getElementName(ClassMeta<?> cm) {
                        cm = cm.getSerializedClassMeta();
-                       String name = cm.getLexiconName();
+                       String name = cm.getDictionaryName();
 
                        if (name == null) {
                                if (cm.isBoolean())

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index 7ceac46..a381b41 100644
--- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -304,7 +304,7 @@ public class XmlSerializer extends WriterSerializer {
                int indent = session.indent;       // Current indentation
                ClassMeta<?> aType = null;     // The actual type
                ClassMeta<?> wType = null;     // The wrapped type
-               ClassMeta<?> gType = object(); // The generic type
+               ClassMeta<?> sType = object(); // The serialized type
 
                aType = session.push(elementName, o, eType);
 
@@ -324,7 +324,7 @@ public class XmlSerializer extends WriterSerializer {
                                aType = ((Delegate)o).getClassMeta();
                        }
 
-                       gType = aType.getSerializedClassMeta();
+                       sType = aType.getSerializedClassMeta();
 
                        // Swap if necessary
                        PojoSwap swap = aType.getPojoSwap();
@@ -333,11 +333,11 @@ public class XmlSerializer extends WriterSerializer {
 
                                // If the getSwapClass() method returns Object, 
we need to figure out
                                // the actual type now.
-                               if (gType.isObject())
-                                       gType = bc.getClassMetaForObject(o);
+                               if (sType.isObject())
+                                       sType = bc.getClassMetaForObject(o);
                        }
                } else {
-                       gType = eType.getSerializedClassMeta();
+                       sType = eType.getSerializedClassMeta();
                }
 
                String classAttr = null;
@@ -349,23 +349,23 @@ public class XmlSerializer extends WriterSerializer {
                }
 
                // char '\0' is interpreted as null.
-               if (o != null && gType.isChar() && ((Character)o).charValue() 
== 0)
+               if (o != null && sType.isChar() && ((Character)o).charValue() 
== 0)
                        o = null;
 
                boolean isCollapsed = false;            // If 'true', this is a 
collection and we're not rendering the outer element.
 
                // Get the JSON type string.
-               if (gType.isCharSequence() || gType.isChar())
+               if (sType.isCharSequence() || sType.isChar())
                        ts = "string";
-               else if (gType.isNumber())
+               else if (sType.isNumber())
                        ts = "number";
-               else if (gType.isBoolean())
+               else if (sType.isBoolean())
                        ts = "boolean";
-               else if (gType.isMap() || gType.isBean() || 
gType.hasToObjectMapMethod()) {
-                       isCollapsed = 
gType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED;
+               else if (sType.isMap() || sType.isBean() || 
sType.hasToObjectMapMethod()) {
+                       isCollapsed = 
sType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED;
                        ts = "object";
                }
-               else if (gType.isCollection() || gType.isArray()) {
+               else if (sType.isCollection() || sType.isArray()) {
                        isCollapsed = (format == COLLAPSED && ! 
addNamespaceUris);
                        ts = "array";
                }
@@ -375,9 +375,9 @@ public class XmlSerializer extends WriterSerializer {
 
                // Is there a name associated with this bean?
                if (elementName == null)
-                       elementName = gType.getLexiconName();
+                       elementName = sType.getDictionaryName();
                if (elementName == null)
-                       elementName = aType.getLexiconName();
+                       elementName = aType.getDictionaryName();
 
                // If the value is null then it's either going to be <null/> or 
<XmlSerializer nil='true'/>
                // depending on whether the element has a name.
@@ -388,7 +388,7 @@ public class XmlSerializer extends WriterSerializer {
 
                if (session.isEnableNamespaces()) {
                        if (elementNamespace == null)
-                               elementNamespace = 
gType.getExtendedMeta(XmlClassMeta.class).getNamespace();
+                               elementNamespace = 
sType.getExtendedMeta(XmlClassMeta.class).getNamespace();
                        if (elementNamespace == null)
                                elementNamespace = 
aType.getExtendedMeta(XmlClassMeta.class).getNamespace();
                        if (elementNamespace != null && elementNamespace.uri == 
null)
@@ -400,7 +400,7 @@ public class XmlSerializer extends WriterSerializer {
                }
 
                // Do we need a carriage return after the start tag?
-               boolean cr = o != null && (gType.isMap() || 
gType.isCollection() || gType.isArray() || gType.isBean() || 
gType.hasToObjectMapMethod());
+               boolean cr = o != null && (sType.isMap() || 
sType.isCollection() || sType.isArray() || sType.isBean() || 
sType.hasToObjectMapMethod());
 
                String en = (elementName == null ? ts : elementName);
                boolean encodeEn = elementName != null;
@@ -434,14 +434,14 @@ public class XmlSerializer extends WriterSerializer {
                        if (o == null) {
                                if (! isNullTag)
                                        out.attr(xsi, "nil", "true");
-                               if ((gType.isBoolean() || gType.isNumber()) && 
! gType.isNullable())
-                                       o = gType.getPrimitiveDefault();
+                               if ((sType.isBoolean() || sType.isNumber()) && 
! sType.isNullable())
+                                       o = sType.getPrimitiveDefault();
                        }
 
-                       if (o != null && !(gType.isMap() || gType.isBean() || 
gType.hasToObjectMapMethod()))
+                       if (o != null && !(sType.isMap() || sType.isBean() || 
sType.hasToObjectMapMethod()))
                                out.append('>');
 
-                       if (cr && !(gType.isMap() || gType.isBean() || 
gType.hasToObjectMapMethod()))
+                       if (cr && !(sType.isMap() || sType.isBean() || 
sType.hasToObjectMapMethod()))
                                out.nl();
                }
 
@@ -449,33 +449,33 @@ public class XmlSerializer extends WriterSerializer {
 
                // Render the tag contents.
                if (o != null) {
-                       if (gType.isUri() || (pMeta != null && pMeta.isUri()))
+                       if (sType.isUri() || (pMeta != null && pMeta.isUri()))
                                out.appendUri(o);
-                       else if (gType.isCharSequence() || gType.isChar())
+                       else if (sType.isCharSequence() || sType.isChar())
                                out.encodeText(session.trim(o));
-                       else if (gType.isNumber() || gType.isBoolean())
+                       else if (sType.isNumber() || sType.isBoolean())
                                out.append(o);
-                       else if (gType.isMap() || (wType != null && 
wType.isMap())) {
+                       else if (sType.isMap() || (wType != null && 
wType.isMap())) {
                                if (o instanceof BeanMap)
                                        hasChildren = serializeBeanMap(session, 
out, (BeanMap)o, elementNamespace, isCollapsed);
                                else
-                                       hasChildren = serializeMap(session, 
out, (Map)o, gType);
+                                       hasChildren = serializeMap(session, 
out, (Map)o, sType);
                        }
-                       else if (gType.hasToObjectMapMethod())
-                               hasChildren = serializeMap(session, out, 
gType.toObjectMap(o), gType);
-                       else if (gType.isBean())
+                       else if (sType.hasToObjectMapMethod())
+                               hasChildren = serializeMap(session, out, 
sType.toObjectMap(o), sType);
+                       else if (sType.isBean())
                                hasChildren = serializeBeanMap(session, out, 
bc.forBean(o), elementNamespace, isCollapsed);
-                       else if (gType.isCollection() || (wType != null && 
wType.isCollection())) {
+                       else if (sType.isCollection() || (wType != null && 
wType.isCollection())) {
                                if (isCollapsed)
                                        session.indent--;
-                               serializeCollection(session, out, 
(Collection)o, gType, pMeta);
+                               serializeCollection(session, out, 
(Collection)o, sType, pMeta);
                                if (isCollapsed)
                                        session.indent++;
                        }
-                       else if (gType.isArray()) {
+                       else if (sType.isArray()) {
                                if (isCollapsed)
                                        session.indent--;
-                               serializeCollection(session, out, 
toList(gType.getInnerClass(), o), gType, pMeta);
+                               serializeCollection(session, out, 
toList(sType.getInnerClass(), o), sType, pMeta);
                                if (isCollapsed)
                                        session.indent++;
                        }
@@ -621,7 +621,7 @@ public class XmlSerializer extends WriterSerializer {
                }
 
                if (eName == null && ! elementType.isObject()) {
-                       eName = elementType.getLexiconName();
+                       eName = elementType.getDictionaryName();
                        eNs = 
elementType.getExtendedMeta(XmlClassMeta.class).getNamespace();
                }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java 
b/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java
index ffef4a0..fb27219 100755
--- a/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java
@@ -62,12 +62,12 @@ public class BeanFilterTest {
                public B fb;
        }
 
-       @Bean(name="A1")
+       @Bean(typeName="A1")
        public static class A1 extends A {
                public String f1;
        }
 
-       @Bean(name="A2")
+       @Bean(typeName="A2")
        public static class A2 extends A {
                public String f2;
        }
@@ -80,12 +80,12 @@ public class BeanFilterTest {
                public String f0b = "f0b";
        }
 
-       @Bean(name="B1")
+       @Bean(typeName="B1")
        public static class B1 extends B {
                public String f1;
        }
 
-       @Bean(name="B2")
+       @Bean(typeName="B2")
        public static class B2 extends B {
                public String f2;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index cbd6a76..f14fe72 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -255,7 +255,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
                public String f0 = "f0";
        }
 
-       @Bean(name="B1")
+       @Bean(typeName="B1")
        public static class B1 extends B {
                public String f1;
                public static B1 create() {
@@ -266,7 +266,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
                }
        }
 
-       @Bean(name="B2")
+       @Bean(typeName="B2")
        public static class B2 extends B {
                public int f2;
                public static B2 create() {
@@ -277,7 +277,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
                }
        }
 
-       @Bean(name="B3")
+       @Bean(typeName="B3")
        public static class B3 extends B {
                public XMLGregorianCalendar f3;
                public static B3 create() throws Exception {
@@ -397,7 +397,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
                public String f0a, subType, f0b;
        }
 
-       @Bean(name="BA1")
+       @Bean(typeName="BA1")
        public static class BA1 extends BA {
                public String f1;
                public static BA1 create() {
@@ -410,7 +410,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
                }
        }
 
-       @Bean(name="BA2")
+       @Bean(typeName="BA2")
        public static class BA2 extends BA {
                public String f2;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
index b9353eb..390fab7 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
@@ -302,7 +302,7 @@ public class RoundTripTransformBeansTest extends 
RoundTripTest {
                }
        }
 
-       @Bean(name="C3")
+       @Bean(typeName="C3")
        public static class C3<T> extends C2<T> {
 
                public static C3 create() {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java 
b/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
index e7b32c9..57fa275 100755
--- a/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
@@ -335,7 +335,7 @@ public class XmlCollapsedTest {
                }
        }
 
-       @Bean(name="xf1")
+       @Bean(typeName="xf1")
        public static class F1 {
 
                @Xml(format=CONTENT)

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java 
b/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java
index 9f5e9c7..3773dc2 100755
--- a/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java
@@ -126,7 +126,7 @@ public class XmlContentTest {
                assertEqualObjects(t, t2);
        }
 
-       @Bean(name="A")
+       @Bean(typeName="A")
        public static class A {
                @Xml(format=ATTR) public String f1;
                @Xml(format=CONTENT) public String f2;
@@ -249,7 +249,7 @@ public class XmlContentTest {
                assertEqualObjects(t, t2);
        }
 
-       @Bean(name="A")
+       @Bean(typeName="A")
        public static class B {
                @Xml(format=ATTR) public String f1;
                @Xml(format=CONTENT, contentHandler=BContentHandler.class) 
public String f2;

Reply via email to