Updated missing annotations, immutable fields and cleaned comments.
Updated the language level to Java 8.