public T SendAndWait <T>(string method, MidgeParameters parameters, int timeout = 100000) { Guid commandToken = Guid.NewGuid(); var request = CreateRequest(method, parameters, commandToken); ResponseWaiter waiter = new ResponseWaiter(commandToken); _waiters.TryAdd(commandToken, waiter); RestClient.SendMessage(request.ToString()); waiter.Wait(timeout); var result = waiter.Result.ToObject <T>(_jsonSerializer); return(result); }