The Java TM programming language - Arnold, Ken; Gosling, James (Addison-Wesley, 1998)