public QueueInfo GetQueueInformation(double queueId)
 {
     int Id = Invoke("matchmakerService", "getQueueInfo", new object[] { queueId });
     while (!results.ContainsKey(Id))
         System.Threading.Thread.Sleep(10);
     TypedObject messageBody = results[Id].GetTO("data").GetTO("body");
     QueueInfo result = new QueueInfo(messageBody);
     results.Remove(Id);
     return result;
 }
 public async Task<QueueInfo> GetQueueInformation(double queueId)
 {
     int Id = Invoke("matchmakerService", "getQueueInfo", new object[] { queueId });
     while (!results.ContainsKey(Id))
         await Task.Delay(10);
     TypedObject messageBody = results[Id].GetTO("data").GetTO("body");
     QueueInfo result = new QueueInfo(messageBody);
     results.Remove(Id);
     return result;
 }