public override void Read()
        {
            Auctioneer         = _worldPacket.ReadPackedGuid();
            Offset             = _worldPacket.ReadUInt32();
            Unknown830         = _worldPacket.ReadInt8();
            TaintedBy.HasValue = _worldPacket.HasBit();

            uint sortCount = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            BucketKey = new AuctionBucketKey(_worldPacket);

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }
        }
        public override void Read()
        {
            Auctioneer         = _worldPacket.ReadPackedGuid();
            TaintedBy.HasValue = _worldPacket.HasBit();

            uint bucketKeysCount = _worldPacket.ReadBits <uint>(7);
            uint sortCount       = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }

            for (var i = 0; i < bucketKeysCount; ++i)
            {
                BucketKeys[i] = new AuctionBucketKey(_worldPacket);
            }
        }