Add Javadocs
Revert "Add Javadocs"

This reverts commit fae18586387b8c06bd588c4b1dac1b42f31d6616.
Revert "Revert "Add Javadocs""

This reverts commit 85b399342ad48f347ce1b2c4315c0d1682776da8.