Making the future safe for the past: Adding Genericity to the Java Programming Language (1998)

by Gilad Bracha , Martin Odersky, David Stoutamire, Philip Wadler