docs: public boolean isFilterMatch(BaseMessageHeader messageHeader)
      {
          boolean bMatch = true;
          if (messageHeader != null)
          {
              if (this.getQueueName() != null)
                  if (!this.getQueueName().equals(messageHeader.getQueueName()))
                      return false;   // No match
              if (this.getQueueType() != null)
                  if (!this.getQueueType().equals(messageHeader.getQueueType()))
                      return false;   // No match
              if (this.getMessageSource() != null)
                  if (this.getMessageSource() == messageHeader.getMessageSource())
                      return false;   // If the source codes are the same object, don't echo!
              Object[][] mxMessageHeader = messageHeader.getNameValueTree();
              Object[][] mxMessageFilter = this.getNameValueTree();
              bMatch = this.compareTrees(mxMessageHeader, mxMessageFilter, false);
              if (bMatch)
                  if (messageHeader.getRegistryIDMatch() != null)
                      if (!messageHeader.getRegistryIDMatch().equals(this.getRegistryID()))
                          bMatch = false;
          }
          return bMatch;    // MATCH!!!
      }