Introduction to JAVA programming : comprehensive version - Liang, Y. Daniel (Pearson, 2013)