Java Programming: Guided Learning with Early Objects Chapter 12 Generics, Dynamic Representations, and Collections.