public static void Recycle(PacketEvent packet)
 {
     if (!stack.Contains(packet))
     {
         stack.Enqueue(packet);
     }
 }
        public static PacketEvent Create(IPeer peer, object data, Reliability reliability)
        {
            PacketEvent packet;

            if (stack.Count > 0)
            {
                packet = stack.Dequeue();
                packet.Set(peer, data, reliability);
            }
            else
            {
                packet = new PacketEvent(peer, data, reliability);
            }
            return(packet);
        }