Typo.
Javadoc improvement.
Refactoring: extracted a bunch of methods.
Added comments.
Simplification.
Simplification.