@Override
  public boolean performGuardedChange(Runnable change) {
    checkValid();

    editor.getDocument().startGuardedBlockChecking();
    myGuardedChanges++;
    boolean result;
    try {
      result = myOffsets.performGuardedChange(change);
    }
    finally {
      editor.getDocument().stopGuardedBlockChecking();
      myGuardedChanges--;
    }
    if (!result || isLookupDisposed()) {
      hideLookup(false);
      return false;
    }
    if (isVisible() && editor.getContentComponent().isShowing()) {
      HintManagerImpl.updateLocation(this, editor, myUi.calculatePosition().getLocation());
    }
    checkValid();
    return true;
  }
@Override
  public boolean performGuardedChange(Runnable change)