anchor.diff:      _tooltip?.activate();
     }
   
  -  @HostListener('blur')
     @HostListener('click')
     void onBlurOrClick() => hideTooltip();
   
  
positive.code:     });
    }
  
    @HostListener('blur')
    void onBlur(FocusEvent event) {
      // Don't hide the tooltip if the user clicked an empty area on the page.
      if (event.relatedTarget == null) return;
  
      // Don't hide the tooltip if focus went to an element inside the tooltip.
      HtmlElement el;
      for (el = event.relatedTarget; el.parent != null; el = el.parent) {
        if (el.className == overlayContainerClassName) return;
      }
  
      hideTooltip(immediate: true);
    }
  
    @HostListener('click')
    void onClick() {
      _toggleVisibility();
  
negative.code:   @override
    void onClose() {
      super.onClose();
      hideTooltip(immediate: true);
    }
  
    @HostListener('blur')
    void onBlur(FocusEvent event) {
      // Don't hide the tooltip if the user clicked an empty area on the page.
      if (event.relatedTarget == null) return;
  
      // Don't hide the tooltip if focus went to an element inside the tooltip.
      HtmlElement el;
      for (el = event.relatedTarget; el.parent != null; el = el.parent) {
        if (el.className == overlayContainerClassName) return;
      }
  
      hideTooltip(immediate: true);
    }
  }
  