docs: protected void fireMySelectionChanged(MyListSelectionEvent event)
      {
          this.selectionChanged(event.getSource(), event.getRow(), event.getRow(), event.getType());  // Make sure model knows
          // Guaranteed to return a non-null array
          Object[] listeners = listenerList.getListenerList();
          // Process the listeners last to first, notifying
          // those that are interested in this event
          for (int i = listeners.length-2; i>=0; i-=2)
          {
              if (listeners[i] == MyListSelectionListener.class)
                  if (listeners[i] != event.getSource())  // Don't send it back to source
              { // Send this message
                  ((MyListSelectionListener)listeners[i+1]).selectionChanged(event);
              }
          }
      }