I do not think ensure should be abused like this. If we have an exceptions it is very unlikely we'll reuse the buffer? I see the code is commented, so you maybe think the same?