functional programming in java chapter1