Prevent evaluating Count() twice.

`IEnumerable.Count()` will run the query twice if called twice http://stackoverflow.com/questions/5050326/why-is-ienumerable-count-reevaluating-the-query This caches the value to avoid reevaluation.