Possible redundant calculation, but it will avoid issues where the individual item's tax rate hasn't been calculated yet.

Technically, we could skip the foreach loop in the main program at this point if we grabbed the subtotal at the top of the ToString function, but I prefer the explicitness of it, as it recognizes that it needs to be calculated before the data is good.