$ javac src/OptionalDemo.java && java OptionalDemo     (1.8.0_504)
present         : VALUE-1
absent          : none
orElse (value present):
  expensive() called
orElseGet (value present):
get() on empty  : No value present
Optional.of(null): NullPointerException
