Unused parameters are misleading. Whatever the value passed to such parameters is, the behavior will be the same.
void doSomething(int a, int b) { // "b" is unused compute(a); }
void doSomething(int a) { compute(a); }
@override void doSomething(int a, int b) { // no issue reported on b compute(a); }