public async Task CompleteChallenges(CancellationToken token = default(CancellationToken)) { for (var index = 0; index < _challenges.Count; index++) { var challenge = _challenges[index]; var completeChallenge = await _client.CompleteChallengeAsync(challenge, token); if (completeChallenge.Status != "valid") { throw new InvalidOperationException("Failed to complete challenge for " + _hosts[index] + Environment.NewLine + JsonConvert.SerializeObject(challenge)); } } }