public static FullMarket GetFullMarket(this BFExchangeServiceClient client, string sessionToken, int marketID)
        {
            var marketTask = client.CreateGetMarketTask(new GetMarketReq { header = client.CreateHeader(sessionToken), marketId = marketID });
            var pricesTask = client.CreateGetMarketPricesTask(new GetMarketPricesReq { header = client.CreateHeader(sessionToken), marketId = marketID });
            Task.WaitAll(marketTask, pricesTask);

            return new FullMarket
            {
                Header = marketTask.Result.header,
                Market = marketTask.Result.market,
                Prices = pricesTask.Result.marketPrices,
            };
        }
 public static IEnumerable<GetMarketResp> GetMarkets(this BFExchangeServiceClient client, string sessionToken, params int[] marketIDs)
 {
     return marketIDs.AsParallel().Select(id =>
         {
             return client.getMarket(new GetMarketReq
             {
                 header = client.CreateHeader(sessionToken),
                 marketId = id,
             });
         });
 }