public override int Serialize(Stream stream)
{
int bytesWritten = 0;
bytesWritten += StreamHelper.WriteGuid(stream, this.guid);
bytesWritten += StreamHelper.WriteUInt32(stream, this.kind);
if (this.kind == 0x00000000)
{
AdapterHelper.Site.Assert.IsNotNull(this.lid, "The value of GroupPropertyName.lid should not be null.");
bytesWritten += StreamHelper.WriteUInt32(stream, (uint)this.lid);
}
else if (this.kind == 0x00000001)
{
AdapterHelper.Site.Assert.IsNotNull(this.nameSize, "The value of GroupPropertyName.nameSize is null.");
bytesWritten += StreamHelper.WriteUInt32(stream, (uint)this.nameSize);
byte[] buffer = Encoding.Unicode.GetBytes(this.name, 0, this.name.Length);
bytesWritten += StreamHelper.WriteBuffer(stream, buffer);
}
return bytesWritten;
}