Why is this an issue?

Long parameter lists are confusing to read, difficult to keep track of in the body of the routine, and makes call sites inscrutable.

A long parameter list indicates that a new structure should be created to wrap the numerous parameters, or that the routine is doing too many things.

How to fix it

Consider breaking this routine up into multiple routines with a more narrow focus, or create a new class or record to encapsulate this routine's configuration into fewer parameters.