I know I'm maybe outdated, but why can't you use forEach or reduce here ?

And then, no need to take a copy of recipients (which can take time)