Usually this issue isn't apparent because the compiler error will take precedence over the runtime design flaw, but it's still something which merits notice.
Using the same names for variables as we do for methods and their formals just isn't going to work here.