Added a lot of Javadoc stuff and fixed some Checkstyle issues.
Merged in my changes.
Merged again