Generic Restriction Hell: Bound Mismatch
I'm working on a project that has an extensive tree of generic inheritance and dependencies. Go to edit to see better example. The basics look something like this: class A { ... } class B { ... } class C extends B { ... } class D<T extends B> extends A { ... } class StringMap<T extends A> { HashMap<String, T> _elements; ... } So now I'm going to write a class that contains a specific StringMap type. class X { StringMap<D<C>> _thing = new StringMap<D<C>>; ... } So far this all works fine. D<C> is actually a very long name and the specific combination is going to show up very frequently in other