Page 126: missing keyword construct (implements)?
I'm not sure, so I'll ask it as a question. (There may be something else going on here that I don't understand.)
Toward the bottom of p. 126, should we have "public abstract class XMLReaderImpl implements XMLReader" instead of what's printed "public abstract class XMLReaderImpl"?
The compiler (and the human reader) would need to be informed of the relationship between XMLReaderImpl and XMLReader (jf XMLReaderImpl is really to be considered a(n) (default) implementation of XMLReader), and my suggestion above would seem to be the way to do it.