Learning the functional style with the Java language