Method references
So far, all our functions were short one-liners. Here is another example:
Supplier<Integer> input = () -> 3;
Predicate<Integer> checkValue = d -> d < 5;
Function<Integer, Double> calculate = i -> i * 5.0;
Consumer<Double> printResult = d -> System.out.println(
"Result: " + d);
if(checkValue.test(input.get())){
printResult.accept(calculate.apply(input.get()));
} else {
System.out.println("Input " + input.get() +
...