Introduction to Java Programming, Comprehensive version, 8ed - Y. Daniel Liang (Pearson Education,Inc., 2011)