Introduction to java programming - Liang, Y. Daniel (Pearson, 2009)