Embarrassingly, after searching the code, that one case is the only one I've been able to identify. It seems to me now that the assumption was not, in fact, made that position = 0 would do what clear() does. Before the loop was added, the use of rec would have been completely fine. And although clear() would be correct, length = 0 followed by position = 0 would be equivalent and would keep with the style in other parts of the code.
So if you would, please commit this patch to sendApplicationData.
Sorry for flipping out a bit and making this out to be bigger than it is. I should really make myself take the time to double-check things before I hit "send."
Thanks,
--Joey Parrish