public void Write( Stream output, object value, Endian endian, long ownerOffset, PropertySetSchemaProvider schemaProvider) { var startPosition = output.Position; var resource = new DataFormats.PropertyList(); output.Position += resource.Size; ((PropertyList)value).Write(output, endian, resource, startPosition, schemaProvider); var endPosition = output.Position; output.Position = startPosition; resource.OwnerOffset = ownerOffset; resource.Serialize(output, endian); output.Position = endPosition; }