What do you mean by "munges the data"? Is there code that's actually changing bytes in the buffer? Can you point me to a unit test that's doing that, as that's not good. Might the evaluate method of one of our many expressions.

The code will, of course, set the fields of the ptr. Basically these ptrs that are passed through are meant to be set. In this case, the ptr coming in points to the row key. We don't depend on the value of the ptr fields upon return for newRow.