So essentially it is making a temporary array of all of the values for this group.
The first DO loop loads the array. Then the second pulls the individual values back out and so the rule checking can be down with the values in the array.
... View more