public async Task <bool> GroupExistsAsync(string groupName, CancellationToken cancellationToken = default)
        {
            if (string.IsNullOrEmpty(groupName))
            {
                throw new ArgumentException(NullOrEmptyStringErrorMessage, nameof(groupName));
            }
            var exists = false;
            var api    = await _restApiProvider.GetCheckGroupExistsEndpointAsync(_appName, _hubName, groupName);

            await _restClient.SendAsync(api, HttpMethod.Head, _productInfo, handleExpectedResponse : response =>
            {
                switch (response.StatusCode)
                {
                case HttpStatusCode.OK:
                    exists = true;
                    return(true);

                case HttpStatusCode.NotFound:
                    return(true);

                default:
                    return(false);
                }
            }, cancellationToken : cancellationToken);

            return(exists);
        }