@Override
  public final void focusLost(final FocusEvent e) {
    Component component = e.getOppositeComponent();
    if (component != null && !SwingUtilities.isDescendingFrom(component, getTopComponent())) {
      focusLostImpl(e);
    }
  }
@Override
  public final void focusLost(final FocusEvent e)