java Puzzlers pdf document