Enchance javadoc

Enhanced Javadoc descriptions.
- Added javadoc headers in public methods
- Added description n on throw conditions
- Fixed typos 
- Fixed style (start javadoc descriptions with capital)