code: @Override
      public final void addSourceListener(SourceListener<S> listener) {
          if (listener != null) {
              this.listenerList.add(listener);
          }
      }
docs: Adds a listener that gets called whenever something changes.
  
  @param listener a {@link DataSourceListener}.