public async Task DeleteUserAsync(string loginName, UserCredentials?userCredentials = null,
                                          CancellationToken cancellationToken = default)
        {
            if (loginName == null)
            {
                throw new ArgumentNullException(nameof(loginName));
            }
            if (loginName == string.Empty)
            {
                throw new ArgumentOutOfRangeException(nameof(loginName));
            }

            await _client.DeleteAsync(new DeleteReq {
                Options = new DeleteReq.Types.Options {
                    LoginName = loginName
                }
            }, EventStoreCallOptions.Create(Settings, Settings.OperationOptions, userCredentials, cancellationToken));
        }
        public async Task DeleteUserAsync(string loginName, UserCredentials?userCredentials = null,
                                          CancellationToken cancellationToken = default)
        {
            if (loginName == null)
            {
                throw new ArgumentNullException(nameof(loginName));
            }
            if (loginName == string.Empty)
            {
                throw new ArgumentOutOfRangeException(nameof(loginName));
            }

            await _client.DeleteAsync(new DeleteReq {
                Options = new DeleteReq.Types.Options {
                    LoginName = loginName
                }
            }, RequestMetadata.Create(userCredentials ?? Settings.DefaultCredentials), cancellationToken : cancellationToken);
        }