public async Task <TResponse> Get <TResponse>(string url)
        {
            string responseBody = string.Empty;

            var response = await httpClient.GetAsync(url);

            if (response.Content != null)
            {
                responseBody = await response.Content.ReadAsStringAsync();
            }

            if (response.IsSuccessStatusCode)
            {
                try
                {
                    return(JsonConvert.DeserializeObject <TResponse>(responseBody));
                }
                catch (Exception e)
                {
                    var exception = new BitbucketIntegrationException("failed to extract info from Bitbucket API call", e);
                    throw exception;
                }
            }

            var oasysIntegrationException = new BitbucketIntegrationException("Bitbucket API GET call failed");

            throw oasysIntegrationException;
        }
        public async Task <Stream> LoadFile(string url)
        {
            var response = await httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);

            if (response.Content != null)
            {
                return(await response.Content.ReadAsStreamAsync());
            }

            var oasysIntegrationException = new BitbucketIntegrationException("Bitbucket API GET call failed");

            throw oasysIntegrationException;
        }