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