docs: public NameValue[] getNameValueArray(BaseMessageHeader header)
      {
          Object[][] mxString = header.getNameValueTree();
          NameValue[] rgNodes = new NameValue[10];
          rgNodes[0] = this;
          int i = 0;
          if (mxString != null)
          {
              for (; i < mxString.length; i++)
              {
                  rgNodes[i + 1] = rgNodes[i].getNameValueNode((String)mxString[i][MessageConstants.NAME], mxString[i][MessageConstants.VALUE], false);
                  if (rgNodes[i + 1] == null)
                      break;
              }
          }
          NameValue[] rgNodesNew = new NameValue[i + 1];
          for (int j = 0; j <= i; j++)
          {
              rgNodesNew[j] = rgNodes[j];
          }
          return rgNodesNew;
      }