public override void Deserialize(Stream input, ParseSchema.Column column, XmlWriter output) { var flags = ColumnFlags.None; flags |= column.Flags & ColumnFlags.FIXED_ARRAY; flags |= column.Flags & ColumnFlags.EARRAY; flags |= column.Flags & ColumnFlags.INDIRECT; if (flags == ColumnFlags.INDIRECT) { var hasValue = input.ReadValueU32(); if (hasValue == 0) { return; } } var index = input.ReadValueS32(); var target = column.Subtable.Columns[index]; output.WriteStartElement("polymorph"); output.WriteAttributeString("name", target.Name); BlobFile.DeserializeColumn(target, input, output); output.WriteEndElement(); }