1. Java Genericshistorical

    Type parameters, bounds, wildcards, PECS, type erasure, and the limits of Java's generic type system.