The JAVA language specification JAVA SE - Gosling, James (et al) (Addison-Wesley, New Jersey, 2013)