public virtual void copyTo(ControlRequestHandler newHandler)
 {
     if (ongoingRequest != null)
     {
         newHandler.addRequest(ongoingRequest.request, ongoingRequest.tutor, ongoingRequest.reqListener);
     }
     foreach (PendingRequest pendingRequest in controlRequestQueue)
     {
         newHandler.addRequest(pendingRequest.request, pendingRequest.tutor, pendingRequest.reqListener);
     }
     /* clear memory */
     ongoingRequest = null;
     controlRequestQueue.Clear();
 }
        public virtual void copyTo(ControlRequestHandler newHandler)
        {
            // We might want to skip destroy requests and send them on the network instead

            if (ongoingRequests.Count > 0)
            {
                foreach (RequestObjects req in ongoingRequests)
                {
                    newHandler.addRequest(req.request, req.tutor, req.listener);
                }
                ongoingRequests.Clear();
            }
            for (int i = 0; i < this.requestQueues.Length; i++)
            {
                RequestObjects migrating;
                while ((migrating = this.requestQueues[i].shift()) != null)
                {
                    newHandler.addRequest(migrating.request, migrating.tutor, migrating.listener);
                }
            }

            newHandler.RequestLimit = this.requestLimit;
        }