Building Java programs : a back to basics approach - Reges, Stuart (Addison-Wesley, 2011)