docs: public void free()
      {
          if (m_messageReceiver != null)
              m_messageReceiver.removeMessageFilter(this, false); // Remove from this and don't free again
          m_messageReceiver = null;
          
          while (this.getMessageListener(0) != null)
          {
              JMessageListener listener = this.getMessageListener(0);
              this.removeFilterMessageListener(listener);
          }
          if (m_vListenerList != null)
              m_vListenerList.clear();
          m_vListenerList = null;
          
          super.free();
          m_intID = null;
      }