public async Task<StartChampSelectDTO> StartChampionSelection(Double gameId, Double optomisticLock)
 {
     int Id = Invoke("gameService", "startChampionSelection", new object[] { gameId, optomisticLock });
     while (!results.ContainsKey(Id))
         await Task.Delay(10);
     TypedObject messageBody = results[Id].GetTO("data").GetTO("body");
     StartChampSelectDTO result = new StartChampSelectDTO(messageBody);
     results.Remove(Id);
     return result;
 }
 /// 49.)
 public void StartChampionSelection(Double gameId, Double optomisticLock, StartChampSelectDTO.Callback callback)
 {
     StartChampSelectDTO cb = new StartChampSelectDTO(callback);
     InvokeWithCallback("gameService", "startChampionSelection", new object[] { gameId, optomisticLock }, cb);
 }