Trying a different approach to see if we can drain the buffer - this time I am using unshift.

Well we get the same result or worse this way.  If we unshift on every iteration, it will be called forever before the buffer is filled, and if we only unshift when there is more than 9 cells available (here) than we end up with the same problem - we get out of the readable events firing before we see the rest of the data.

I am commiting this to show the approach, but I will likely revert this right on back to the way it was.
Revert "Trying a different approach to see if we can drain the buffer - this time I am using unshift."

This reverts commit 411ab1923bbe136a14ba9589c982e8cb2b704c1f.