public override void SerializeMessage(BitWriter writer)
        {
            /*
             * I don't know why this is not working... you can add new stacks, but cannot add to existent once.
             */

            writer.WriteBit(IsBound);
            writer.WriteBit(IsBoundOnEquip);
            writer.WriteBit(IsBoundOnPickup);

            writer.WriteBit(false);

            if (ExtraInfo != null)
            {
                var ldf = ExtraInfo.ToString();

                writer.Write((uint)ldf.Length);

                if (ldf.Length > 0)
                {
                    writer.WriteString(ldf, ldf.Length, true);

                    writer.Write((byte)0);
                    writer.Write((byte)0);
                }
            }
            else
            {
                writer.Write(0u);
            }

            writer.Write(ItemLot);

            writer.WriteBit(false);

            writer.WriteBit(true);
            writer.Write(InventoryType);

            writer.WriteBit(true);
            writer.Write(Delta);

            writer.WriteBit(true);
            writer.Write(TotalItems);

            writer.Write(Item.ObjectId);

            writer.Write(FlyingLootPosition);

            writer.WriteBit(ShowFlyingLoot);

            writer.Write(Slot);
        }