COMPLETE JAVA (1.8,9)