Final commit, including code, javadocs, and JUnit test