Java 8 Logical Programming Questions