#305 Refactor generics usage
#290 Javadoc