public static Packet Deserialize(Session session, MemoryStream source, out object customErrorData)
{
customErrorData = null;
long begin = source.Position;
byte[] buffer = new byte[4];
source.Read(buffer, 0, sizeof(int));
int id = ConverterUtility.GetInt32(buffer);
Packet packet = ProtoRegister.GetPacket(id);
packet.DeSerialize(source);
return(packet);
}