There are a lot of requests of improvements on the diagnostics that are generated by javac. The javac diagnostic system has suffered (starting from the JDK 5.0 release) from a lack of integration with the new language constructs (like generics, wildcards, etc.) and because of that issue, some of the diagnostics that are generated by javac are difficult to understand (at best). I remember of myself scratching my head when I first saw an error like this:
incompatible types:
required: capture#492 of ? extends Object
found: Object