private void RawPacketReceived(byte[] data)
        {
            IDataPacket parsedPacket;

            using (var ms = new MemoryStream(data)
            {
                Position = 2
            })
            {
                parsedPacket = PacketProcessor.ParsePacket(ms);
                parsedPacket.DeserializeFrom(ms);
            }
            OnPacketReceived.Raise(this, new ClientPacketEventArgs(parsedPacket, this, data.Length));
        }
        private void RawPacketReceived(object sender, RawServerPacketEventArgs e)
        {
            IDataPacket parsedPacket;
            var         rawDat = e.RawData;

            rawDat = PacketProcessor.ProcessRawData(rawDat);
            using (var ms = new MemoryStream(rawDat)
            {
                Position = 2
            })
            {
                parsedPacket = PacketProcessor.ParsePacket(ms);
                parsedPacket.DeserializeFrom(ms);
            }
            OnPacketReceived.Raise(this, new ServerPacketEventArgs(parsedPacket, e.Peer, this, e.RawData.Length));
        }