docs: public void free()
      {
          if (m_messageMap != null)
          {
              for (BaseMessageQueue messageQueue : m_messageMap.values())
              {
                  if (messageQueue != null)
                  {       // Don't worry about removing these, since you are removing them all.
                      messageQueue.setMessageManager(null);   // Make sure it doesn't try to remove itself again
                      messageQueue.free();
                  }                
              }
          }
          m_messageMap = null;
          super.free();
      }