void FindGameLobbies()
    {
        if (!refreshingLock)
        {
            refreshingLock = true;
            //RemoveAllHostedGames();
            FindPendingMatchesRequest findPendingMatchesRequest = new FindPendingMatchesRequest();
            findPendingMatchesRequest.SetMatchShortCode("HostedMatch");
            findPendingMatchesRequest.SetMaxMatchesToFind(100);
            // Store this request incase we get a throttled message
            lastFindMatchRequest = findPendingMatchesRequest;

            findPendingMatchesRequest.Send(OnFindPendingMatchesRequestSuccess, OnFindPendingMatchesRequestError);
        }
    }
    public void AttemptSendFindRequest()
    {
        FindPendingMatchesRequest findPendingMatchesRequest = lastFindMatchRequest;

        findPendingMatchesRequest.Send(OnFindPendingMatchesRequestSuccess, OnFindPendingMatchesRequestError);
    }
 /// <summary>
 /// Begin a new FindPendingMatchesRequest
 /// </summary>
 /// <param name="requestData"></param>
 /// <returns></returns>
 public FindPendingMatchesResponse FindPendingMatchesRequest(FindPendingMatchesRequest requestData)
 {
     return(JsonConvert.DeserializeObject <FindPendingMatchesResponse>(Requestor.PostString(Urls.FindPendingMatchesRequest, JsonHelper.SerializeData(requestData)).ResponseJson));
 }
        /// <summary>
        /// Begin a new asynchronous FindPendingMatchesRequest
        /// </summary>
        /// <param name="requestData"></param>
        /// <returns></returns>
        public async Task <FindPendingMatchesResponse> FindPendingMatchesRequestAsync(FindPendingMatchesRequest requestData)
        {
            var res = await Requestor.PostStringAsync(Urls.FindPendingMatchesRequest, JsonHelper.SerializeData(requestData));

            return(JsonConvert.DeserializeObject <FindPendingMatchesResponse>(res.ResponseJson));
        }