By default, javac does not contain debugging information in generated class files. This information, for example, the names of the method parameters (but the names of the methods and fields are always stored for resolution). When parameter names are unknown, the JD-GUI and other decompilers make up a few sensible names. They do not get confused - they just are not there.
Compile your code using the -g flag:
javac -g SomeClass.java
Just checked the JD-GUI - it displays the correct parameter names.
source share