This does not make sense to me. Is this a compiler or Eclipse error? I haven't manually compiled Java in so long, I figured it be faster for me to ask than to try and manually invoke the java compiler. I know Eclipse uses its own internal compiler for identifying errors and debugging sessions. I can't figure out why this should not be allowed.
Lets suppose we have two classes: Then our Map could contain Map.Entry<C1, String> and Map.Entry<C2, String>. My guess is that this is not the same Map.Entries, that's why you need to put Set<? extends Map.Entry>.