Added override annotations and updated javadoc