code: private void addRemoveToolTipTextUpdaterOnSelectionStateChangeAsNeeded() {
          if (selectedToolTipText == null && disabledSelectedToolTipText == null) {
              if (toolTipTextUpdaterOnSelectionStateChange != null) {
                  removeItemListener(toolTipTextUpdaterOnSelectionStateChange);
                  toolTipTextUpdaterOnSelectionStateChange = null;
              }
          } else if (toolTipTextUpdaterOnSelectionStateChange == null) {
              toolTipTextUpdaterOnSelectionStateChange = new ToolTipTextUpdaterOnSelectionStateChange();
              addItemListener(toolTipTextUpdaterOnSelectionStateChange);
          }
      }
docs: Helper method that takes care to instantiate and add (as an ItemListener) the instance variable
  {@code toolTipTextUpdaterOnSelectionStateChange} when a tool tip text that depends on the selection state (either
  selectedToolTipText or disabledSelectedToolTipText) is not {@code null} or set to null and remove (as an ItemListener) if
  it is.
  
  @see #toolTipTextUpdaterOnSelectionStateChange
  @see #selectedToolTipText
  @see #disabledSelectedToolTipText
  @see #addItemListener(ItemListener)
  @see #removeItemListener(ItemListener)