public async Task <GameAndUserListResponse> GetGameAndUserList(LoginResponse loginResponse = null)
        {
            if (loginResponse == null)
            {
                if (userCredentials == null || !userCredentials.Result)
                {
                    throw new Exception("User not logged in! Use Login first");
                }
            }
            else
            {
                userCredentials = loginResponse;
            }

            RequestParameterCollection parameters = new RequestParameterCollection();

            parameters.AddParameter("type", "gameanduserlist");
            parameters.AddParameter("device_id", "173FA2A77FA8260CD1EA6C36D66478D3A14E23786A480485B3F09962ABF46540");
            parameters.AddParameter("userid", userCredentials.UserId);
            parameters.AddParameter("authkey", userCredentials.AuthKey);

            string apiResponse = await GetResponse(baseUrl + "matchmake.php" + parameters.ToString());

            return(GameAndUserListResponse.FromJson(apiResponse));
        }
 public static string ToJson(this GameAndUserListResponse self) => JsonConvert.SerializeObject(self, Converter.Settings);