On Functional Programming in Java