The regex was using \S+ to match the comma between the filters arguments, but would continue to match idependent quote characters and filter separators. This can result in multiple filters being interpreted as a single one with many arguments.
When a continue or break statement is executed it pushes an interrupt to a stack in context. If any non-handled interrupts are present blocks will cease to execute. The for loop can handle the most recent interrupt in the stack.