We don't need to reallocate the underlying offsetVector every time a variable length vector is reallocated.
Reallocation of offsetVector is taken care of by setSafe() function of the offsetVector.
The setSafe() function of the Variable Length Vector will decide whether to call realloc() or not. However, this should not decide whether offsetVector needs reallocation or not. When setSafe() calls offsetVector.setSafe(), the latter can decide whether to reallocate the offset vector or not.