/// <summary>
 /// Retrieve a previously created controller (or a new one if none exist).
 /// </summary>
 /// <returns></returns>
 public RequestController Pop()
 {
     lock (_queue)
     {
         if (_queue.Count == 0)
         {
             return((RequestController)_prototype.Clone());
         }
         return(_queue.Dequeue());
     }
 }