Java/TypeChecking
From charlesreid1
This gets complicated fast when you're using generic types.
Neal Grafter's blog has a page talking about reified generics. This has to do with casting objects to generic types, and casting to objects that utilize the diamond notation, like Collections objects.
This stack overflow question addresses some similar issues.