docs: public Iterator getFilterList(BaseMessageHeader messageHeader)
      {
          Iterator iterator = null;
          Object[][] mxString = messageHeader.getNameValueTree();
          NameValue node = this;
          int iIndex = -1;
          while (node != null)
          {
              Iterator nodeIterator = node.getFilterIterator();
              if (nodeIterator != null)
              {
                  if (iterator == null)
                      iterator = nodeIterator;
                  else
                  {
                      if (!(iterator instanceof MultiIterator))
                          iterator = new MultiIterator(iterator);
                      ((MultiIterator)iterator).addIterator(nodeIterator);
                  }
              }
              iIndex++;
              if ((mxString != null) && (iIndex < mxString.length))
                  node = node.getNameValueNode((String)mxString[iIndex][MessageConstants.NAME], mxString[iIndex][MessageConstants.VALUE], false);
              else
                  node = null;    // done
          }
          if (iterator == null)
              return gEmptyIterator;
          return iterator;
      }