add javadocs and remove the checkstyle suppression