What is type erasure in Java generics and what limitation does it cause? | LetsGit.IT