Thanks Eddie, that works as we hoped!
Saw some oddness with .pop() vs .shift() on the array, code works perfectly as intended using .shift() as the data return but .pop() was always the last data entry for as many iterations of the
Working Override GetNext solution:
// Lazy man's init
if (typeof(counter) == 'undefined') {
counter = 0;
}
if (counter >= gRetry.length) {
result.setStatus(0);
} else {
// shift() works, pop() did not.
work.merge(gRetry.shift());