code: @Override
  	public void setVisible(boolean b) {
  		super.setVisible(b);
  		if (!b) {
  			ExtensionPopupMenuComponent selectedMenuComponent = null;
  			if (pathSelectedMenu != null) {
  				MenuElement selectedMenuElement = pathSelectedMenu[pathSelectedMenu.length - 1];
  				if (PopupMenuUtils.isExtensionPopupMenuComponent(selectedMenuElement)) {
  					selectedMenuComponent = (ExtensionPopupMenuComponent) selectedMenuElement;
  				}
  				pathSelectedMenu = null;
  			}
  
  			for (int i = 0; i < getComponentCount(); i++) {
  				Component component = getComponent(i);
  				if (PopupMenuUtils.isExtensionPopupMenuComponent(component)) {
  					((ExtensionPopupMenuComponent) component).dismissed(selectedMenuComponent);
  				}
  			}
  		}
  	}
docs: {@inheritDoc}
  <p>
  Overridden to call the method {@code ExtensionPopupMenuComponent#dismissed(ExtensionPopupMenuComponent)} of child
  {@code ExtensionPopupMenuComponent}s when the pop up menu is hidden.
  
  @see ExtensionPopupMenuComponent#dismissed(ExtensionPopupMenuComponent)