public virtual async Task <TResult> DeleteAsync <TResult>(Priority priority, string path, CancellationToken cancellationToken = default(CancellationToken))
        {
            var httpClient = GetWebApiClient(priority);

            SetHttpRequestHeaders(httpClient);

            var response = await httpClient.DeleteAsync(path, cancellationToken).ConfigureAwait(false);

            if (!await response.EnsureSuccessStatusCodeAsync())
            {
                return(default(TResult));
            }

            return(await HttpResponseResolver.ResolveHttpResponseAsync <TResult>(response));
        }