Java functional-style programming in a nutshell