private RestResponse HandleInParallel(string uri)
        {
            lock (_locker)
            {
                if (ParallelResponses.Count == 0)
                {
                    _expectParallelRequests = true;
                    return(HandleResponse(uri));
                }

                var response = ParallelResponses.FirstOrDefault(x => x.Item1 == uri);

                if (response == null)
                {
                    throw new ArgumentOutOfRangeException($"No response for {uri}");
                }

                ParallelResponses.Remove(response);
                return(CreateResponse(response.Item2));
            }
        }
 public void QueueParallelResponses(params Tuple <string, object>[] responses)
 {
     ParallelResponses.AddRange(responses);
     _expectParallelRequests = true;
 }