Java Concepts by Cay S. Horstmann, Valim Levitin & Fran Trees