Refactoring: Make field final
Refactoring: Remove outdated comment
Refactoring: Make parameter not nullable
Refactoring: formatting and private constructor
Refactoring. Remove warnings about non-nullable fields.
Reformat
KT-3158 Erroneous report about erased type check when type params are specified in superclass

 #KT-3158 Fixed
Temp commit with three broken tests
Fix javadoc
-- Test explanations
-- Regenerate tests
-- Remove unused methods