EXCURSIONS
Effective Java Programming Language Guide
by Joshua Bloch
Foreword by Guy Steele