public virtual AuthResponse Execute(string stateToken, Uri uri, ApiObject apiObject = null) { // Create a new apiObject if it's null, because we need to add a stateToken apiObject = apiObject ?? new ApiObject(); if (!apiObject.ContainsProperty("stateToken")) { apiObject.SetProperty("stateToken", stateToken); } var response = BaseClient.Post(uri, apiObject.ToJson()); return(Utils.Deserialize <AuthResponse>(response)); }