I found this bug by trying to open up the latest version of SIS inside of Eclipse. Per Martin Desruisseaux:
Eclipse doesn't use the Sun/Oracle javac compiler. It uses its own compiler instead, which doesn't behave exactly the same way. I have seen 3 or 4 similar situations in the past, where the Eclipse and Sun compilers were in disagreement. However I do not remember having seen a case where the Eclipse compiler was right...
In this particular case, the Eclipse compiler complains about that line:
The 'merge' method expect two arguments of type:
The types that we are actually providing are:
If we understand <?> as synonymous to <? extends Object>, the above is
right as far as I can see. But maybe Eclipse wants it to be specified
explicitly. could you try to edit line 63 please, replacing the
<String,?> by <String,? extends Object>.