The Java programming language - Arnold, Ken; Gosling, James; Holmes, David (Upper Saddle River, NJ et al. : Addison-Wesley, 2006)