public void Deserialize(ByteBuffer byteBuffer) { /// length field is useless here, just skip it. byteBuffer.position = byteBuffer.position + NetMessage.LEN_SIZE; short dataType = _deserializeHeader(byteBuffer); switch (dataType) { case _DataTypes.EMPTY_OBJECT: _data = new EmptyObject(); break; case _DataTypes.SIMPLE_ARRAY: _data = new SimpleArray(); break; case _DataTypes.SIMPLE_OBJECT: _data = new SimpleObject(); break; case _DataTypes.POJO_OBJECT: _data = new PojoObject(); break; } _data.Deserialize(byteBuffer); }