Introduction to java programming : comprehensive version - Liang, Daniel Y. (Pearson / Prentice Hall, 2007)