Thinking in Java - Eckel, Bruce, 1957- (Upper Saddle River : Prentice Hall, 2000)