Why is this an issue?

Though default parameters can be useful in cases when there is a sensible default value, they also damage API interfaces when used to make a method's behaviour overly configurable. A method with too many default parameters is confusing, unpredictable at a glance, unintuitive to use, and likely overloaded in functionality.

In most cases, using method overloads, multiple methods, or configuration objects is a more appropriate solution.

How to fix it

Refactor this routine by re-evaluating the need for the default values, and either: