public async static Task<Article> GetAsync(string type, string id, IEnumerable<string> fields = null)
 {
     var request = new GetArticleRequest() { Id = id, Type = type, };
     if (fields != null)
         request.Fields.AddRange(fields);
     var response = await request.ExecuteAsync();
     if (response.Status.IsSuccessful == false)
         throw response.Status.ToFault();
     Debug.Assert(response.Article != null, "For a successful get call, article should always be returned.");
     return response.Article;
 }
 public async Task<GetArticleResponse> GetArticleAsync(GetArticleRequest request)
 {
     byte[] bytes = null;
     bytes = await HttpOperation
         .WithUrl(Urls.For.GetArticle(request.Type, request.Id, request.CurrentLocation, request.DebugEnabled, request.Verbosity, request.Fields))
         .WithAppacitiveSession(request.SessionToken)
         .WithEnvironment(request.Environment)
         .WithUserToken(request.UserToken)
         .GetAsync();
     var response = GetArticleResponse.Parse(bytes);
     return response;
 }