$ javac src/StreamsDemo.java && java StreamsDemo     (1.8.0_504)
distinct+upper  : [STREAM, LAMBDA, OPTIONAL, DEFAULT, TIME]
sum of lengths  : 37
pipeline built, nothing printed yet
  filtering stream
first match     : stream
reuse           : stream has already been operated upon or closed
groupingBy      : {long=[stream, lambda, optional, default], short=[time]}
