That assumes that you are actually doing all the work in a side buffer?
The way we do it, all the operations are done on the actual buffers of the tree, so there is no actual way _to_ have more space (even temporarily).
This way, you avoid extra allocation, copying, etc.