Add Javadoc, use checkNotNull better