'Overwrite the text of this object in the Vim Buffer and update its
length information.
If \'gtext\' is None use the initial text of this object.'

def overwrite(self, gtext=None):

    if (self.current_text == gtext):
        return
    old_end = self._end
    self._end = _text_to_vim(self._start, self._end, (gtext or self._initial_text))
    if self._parent:
        self._parent._child_has_moved(self._parent._children.index(self), min(old_end, self._end), self._end.delta(old_end))
