Added more javadoc for methods
Updated code to Jdk 1.7 syntax
Added final where possible to members