code: protected void fireStateChanged() {
          Object[] listeners = LISTENER_LIST.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] == javax.swing.event.ChangeListener.class) {
                  if (changeEvent == null) {
                      changeEvent = new javax.swing.event.ChangeEvent(this);
                  }
                  ((javax.swing.event.ChangeListener) listeners[i + 1]).stateChanged(changeEvent);
              }
          }
      }
docs: Fires an state change event every time the data model changes