/**
   * Notify this object that it has been deregistered as a listener with a source with respect to
   * the supplied event name
   *
   * @param eventName the event
   * @param source the source with which this object has been registered as a listener
   */
  @Override
  public synchronized void disconnectionNotification(String eventName, Object source) {
    super.disconnectionNotification(eventName, source);

    if (m_listenee == null) {
      m_dataProvider = false;
      m_trainingProvider = false;
      m_testProvider = false;
    }
  }
  /**
   * Notify this object that it has been registered as a listener with a source with respect to the
   * supplied event name
   *
   * @param eventName the event
   * @param source the source with which this object has been registered as a listener
   */
  @Override
  public synchronized void connectionNotification(String eventName, Object source) {
    super.connectionNotification(eventName, source);

    if (connectionAllowed(eventName)) {
      if (eventName.equals("dataSet")) {
        m_dataProvider = true;
        m_trainingProvider = false;
        m_testProvider = false;
      } else if (eventName.equals("trainingSet")) {
        m_dataProvider = false;
        m_trainingProvider = true;
        m_testProvider = false;
      } else if (eventName.equals("testSet")) {
        m_dataProvider = false;
        m_trainingProvider = false;
        m_testProvider = true;
      }
    }
  }