public override async Task <TResponse> PostAsync <TRequest, TResponse>(TRequest instance, IRestResource <BitBucketClientContext> resource,
                                                                               BitBucketClientContext context)
        {
            var url     = this.BuildUri(context, () => resource.GetActionUrl(context));
            var request = new HttpRequestMessage(HttpMethod.Post, url.Uri);

            request.Serialize(instance);

            var response = await this.SendAsync(request).ConfigureAwait(false);

            return(await response.DeserializeAsync <TResponse>().ConfigureAwait(false));
        }