@Override
  public void undo() throws UnexpectedUndoException {
    long timeStamp = myChangeRange.isMoved() ? createNextTimeStamp() : myOldTimeStamp;
    ImmutableActionChangeRange range = myChangeRange.getState();
    doChange(range.getNewDocumentLength(), myOldString, range.getOldDocumentLength(), timeStamp);
  }
@Override
  public void undo()