return null;
case TAG_MAP:
{
String type = readType();
Deserializer reader;
reader = _serializerFactory.getObjectDeserializer(type);
if (cl != reader.getType() && cl.isAssignableFrom(reader.getType()))
return reader.readMap(this);
reader = _serializerFactory.getDeserializer(cl);
return reader.readMap(this);
}
case TAG_LIST:
{
String type = readType();
int length = readLength();
Deserializer reader;
reader = _serializerFactory.getObjectDeserializer(type);
if (cl != reader.getType() && cl.isAssignableFrom(reader.getType()))
return reader.readList(this, length);
reader = _serializerFactory.getDeserializer(cl);
return reader.readList(this, length);
}
case TAG_REF:
{
int ref = parseInt();