{
ITypeInfo info = null;
if (type.isArray() && !type.getType().getComponentType().isPrimitive() && !String.class.isAssignableFrom(type.getType().getComponentType()))
{
info = new TypeInfoArray(new ClassContainer(type.getType()));
}
else if (Map.class.isAssignableFrom(type.getType()))
{
info = new TypeInfoMap(type);
}