public FitbitClient(IAuthorization authorization, HttpClient httpClient = null) { if (authorization == null) { throw new ArgumentNullException("authorization", "Authorization can not be null; please provide an Authorization instance."); } Authorization = authorization; if (httpClient == null) { this.HttpClient = new HttpClient(); } else { this.HttpClient = httpClient; } this.HttpClient = authorization.CreateAuthorizedHttpClient(); //use whatever authorization method to provide the HttpClient }