public async Task Start() { // if we restarted, reset the stats, as uptime and since will be out of sync with counts StartClock(); try { await foreach (var line in GetSampleStream()) { // v2 continue instead // twitter appears to send empty lines occassionally if (line == string.Empty) { continue; } // want to parse at least id and text out var tweetDTO = TwitterTweetDTO.Deserialize(line); if (tweetDTO == null) { anyNullTweets = true; continue; } var tweet = new Tweet(tweetDTO); // v2 is it better if TweetStream knows how to track stats or if TweetStatistics does? stats.Track(tweet); } } catch (Exception ex) { anyExceptions = true; } }