protected virtual object ReadObject (XmlTypeMapping typeMap, bool isNullable, bool checkType)
{
switch (typeMap.TypeData.SchemaType)
{
case SchemaTypes.Class: return ReadClassInstance (typeMap, isNullable, checkType);
case SchemaTypes.Array: return ReadListElement (typeMap, isNullable, null, true);
case SchemaTypes.XmlNode: return ReadXmlNodeElement (typeMap, isNullable);
case SchemaTypes.Primitive: return ReadPrimitiveElement (typeMap, isNullable);
case SchemaTypes.Enum: return ReadEnumElement (typeMap, isNullable);
case SchemaTypes.XmlSerializable: return ReadXmlSerializableElement (typeMap, isNullable);
default: throw new Exception ("Unsupported map type");
}
}