The article mentions (very) briefly about what I said in the prev blog. With generics, the casting is just shifted to the compiler. I think this is a bit strange. The whole point of introducing generics is to get rid of the casting completely so that you don't pay the performance penalty. It seems it might have been a better idea for them to make changes to the bytecode and metadata to make this happen.