void restoreState() {
      try {
        myCaretPositionKeeper.restoreCaretPosition();
        myScrollingPositionKeeper.restorePosition(true);
      }
      finally {
        Disposer.dispose(myScrollingPositionKeeper);
      }
    }
void restoreState()