The java language specification Java SE - Gosling, James et al (Addison - Wesley, Upper Saddle River, NJ, 2013)