Thinking in Java 4 Source Code and any others.