Common pitfalls of Java.SE custom generics and generics