The Java language specification - Joy, Bill; Gosling, James; Steele, Guy (Addison-Wesley, 1996)