public void update() {
    if (!myComponent.isShowing() || !IJSwingUtilities.hasFocus(myComponent)) {
      hideHint();
    }
    else if (myHint == null || !myHint.isVisible()) {
      updateHintVisibility();
    }
    else {
      Rectangle bounds = getErrorBounds();
      if (!ErrorInfo.haveFixes(getErrorInfos()) || bounds == null || !bounds.equals(myLastHintBounds)) {
        hideHint();
        updateHintVisibility();
      }
    }
  }
public void update()