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