In recent builds I've noticed parameters in public and protected methods
have started going grey if they aren't used in the method. This didn't
used to happen, as there is always the possibility that they could
simply be api parameters, which other methods would use upon override,
so they were implicitly 'used'. So this appears to be a bug.
Investigating further, if I edit the inspection settings via the
intention menu triggered by the grey parameter, I am taken to 'Unused
symbol' rather than 'Unused method parameters' (I have the former
enabled, the latter not). In the description of 'Unused symbol'
inspection, it says 'Detects local variables and private members that
are declared but not used', but this says nothing about method
parameters. So maybe this inspection is being triggered for method
parameters incorrectly, treating them as local variables?