On p. 3 you give an example of the functional way of solving problems:
final double totalOfDiscountedPrices = prices.stream().map((Integer price) -> price * 0.9).sum();
Since you earlier made a comment on the procedural way, “Those of us working from home have to keep this code away from the eyes of kids aspiring to be programmers”, I think you might want to find a better example. The above is still not what you’d want to show to your kids ;) as there is a much simpler solution:
final double totalOfDiscountedPrices = 0.9 * prices.stream().sum();
An example where the components would need to be squared, say, would be more to the point:
final double totalOfSquared = prices.stream().map((Integer price) -> price * price).sum();
although it does not make much sense in the context of prices.