public async Task RemoveGroupMembers(DiscourseGroup group, IEnumerable <string> usernames,
                                             CancellationToken cancellationToken)
        {
            ThrowIfNotConfigured();

            var payload = new DiscourseGroupMemberRequest(usernames);

            if (string.IsNullOrEmpty(payload.Usernames))
            {
                return;
            }

            var url = GroupMemberChangeURL(group);

            await PerformWithRateLimitRetries(
                async() => await httpClient.DeleteAsJsonAsync(url, payload, cancellationToken),
                cancellationToken);
        }
 private string GroupMemberChangeURL(DiscourseGroup group)
 {
     ThrowIfNotConfigured();
     return(new Uri(apiBaseUrl !, $"groups/{group.Id}/members.json").ToString());
 }