Introduction to Java programming - Liang, Y. Daniel (Pearson Prentice Hall, 2007)