Remove redundant variables
Remove redundant generic type info
Use switch statements where applicable
Use a lambda instead of a full blown anon class
Remove redundant assignments
Make exception fields final
Remove redundant throws declarations
Remove dead code
Use junit
Don't ever swallow RuntimeException
Remove unecessary imports