public MeteorRsMsgTypeDescriptor() {
    super();
    nsURI = "http://schemas.pescxml.org";
    xmlName = "MeteorRsMsgType";

    // -- set grouping compositor
    setCompositorAsSequence();
    org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
    org.exolab.castor.xml.XMLFieldHandler handler = null;
    org.exolab.castor.xml.FieldValidator fieldValidator = null;
    // -- initialize attribute descriptors

    // -- _PESCXMLVersion
    desc =
        new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
            java.lang.String.class,
            "_PESCXMLVersion",
            "PESCXMLVersion",
            org.exolab.castor.xml.NodeType.Attribute);
    desc.setImmutable(true);
    handler =
        (new org.exolab.castor.xml.XMLFieldHandler() {
          public java.lang.Object getValue(java.lang.Object object) throws IllegalStateException {
            MeteorRsMsgType target = (MeteorRsMsgType) object;
            return target.getPESCXMLVersion();
          }

          public void setValue(java.lang.Object object, java.lang.Object value)
              throws IllegalStateException, IllegalArgumentException {
            try {
              MeteorRsMsgType target = (MeteorRsMsgType) object;
              target.setPESCXMLVersion((java.lang.String) value);
            } catch (java.lang.Exception ex) {
              throw new IllegalStateException(ex.toString());
            }
          }

          public java.lang.Object newInstance(java.lang.Object parent) {
            return null;
          }
        });
    desc.setHandler(handler);
    desc.setRequired(true);
    addFieldDescriptor(desc);

    // -- validation code for: _PESCXMLVersion
    fieldValidator = new org.exolab.castor.xml.FieldValidator();
    fieldValidator.setMinOccurs(1);
    { // -- local scope
      StringValidator typeValidator = new StringValidator();
      typeValidator.setWhiteSpace("preserve");
      typeValidator.setFixed("3.0.0");
      fieldValidator.setValidator(typeValidator);
    }
    desc.setValidator(fieldValidator);
    // -- initialize element descriptors

    // -- _meteorDataProviderInfoList
    desc =
        new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
            org.nchelp.meteor.message.response.MeteorDataProviderInfo.class,
            "_meteorDataProviderInfoList",
            "MeteorDataProviderInfo",
            org.exolab.castor.xml.NodeType.Element);
    handler =
        (new org.exolab.castor.xml.XMLFieldHandler() {
          public java.lang.Object getValue(java.lang.Object object) throws IllegalStateException {
            MeteorRsMsgType target = (MeteorRsMsgType) object;
            return target.getMeteorDataProviderInfo();
          }

          public void setValue(java.lang.Object object, java.lang.Object value)
              throws IllegalStateException, IllegalArgumentException {
            try {
              MeteorRsMsgType target = (MeteorRsMsgType) object;
              target.addMeteorDataProviderInfo(
                  (org.nchelp.meteor.message.response.MeteorDataProviderInfo) value);
            } catch (java.lang.Exception ex) {
              throw new IllegalStateException(ex.toString());
            }
          }

          public java.lang.Object newInstance(java.lang.Object parent) {
            return new org.nchelp.meteor.message.response.MeteorDataProviderInfo();
          }
        });
    desc.setHandler(handler);
    desc.setRequired(true);
    desc.setMultivalued(true);
    addFieldDescriptor(desc);

    // -- validation code for: _meteorDataProviderInfoList
    fieldValidator = new org.exolab.castor.xml.FieldValidator();
    fieldValidator.setMinOccurs(1);
    { // -- local scope
    }
    desc.setValidator(fieldValidator);
    // -- _meteorDataAggregates
    desc =
        new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
            org.nchelp.meteor.message.response.MeteorDataAggregates.class,
            "_meteorDataAggregates",
            "MeteorDataAggregates",
            org.exolab.castor.xml.NodeType.Element);
    handler =
        (new org.exolab.castor.xml.XMLFieldHandler() {
          public java.lang.Object getValue(java.lang.Object object) throws IllegalStateException {
            MeteorRsMsgType target = (MeteorRsMsgType) object;
            return target.getMeteorDataAggregates();
          }

          public void setValue(java.lang.Object object, java.lang.Object value)
              throws IllegalStateException, IllegalArgumentException {
            try {
              MeteorRsMsgType target = (MeteorRsMsgType) object;
              target.setMeteorDataAggregates(
                  (org.nchelp.meteor.message.response.MeteorDataAggregates) value);
            } catch (java.lang.Exception ex) {
              throw new IllegalStateException(ex.toString());
            }
          }

          public java.lang.Object newInstance(java.lang.Object parent) {
            return new org.nchelp.meteor.message.response.MeteorDataAggregates();
          }
        });
    desc.setHandler(handler);
    desc.setMultivalued(false);
    addFieldDescriptor(desc);

    // -- validation code for: _meteorDataAggregates
    fieldValidator = new org.exolab.castor.xml.FieldValidator();
    { // -- local scope
    }
    desc.setValidator(fieldValidator);
    // -- _meteorIndexProviderDataList
    desc =
        new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(
            org.nchelp.meteor.message.response.MeteorIndexProviderData.class,
            "_meteorIndexProviderDataList",
            "MeteorIndexProviderData",
            org.exolab.castor.xml.NodeType.Element);
    handler =
        (new org.exolab.castor.xml.XMLFieldHandler() {
          public java.lang.Object getValue(java.lang.Object object) throws IllegalStateException {
            MeteorRsMsgType target = (MeteorRsMsgType) object;
            return target.getMeteorIndexProviderData();
          }

          public void setValue(java.lang.Object object, java.lang.Object value)
              throws IllegalStateException, IllegalArgumentException {
            try {
              MeteorRsMsgType target = (MeteorRsMsgType) object;
              target.addMeteorIndexProviderData(
                  (org.nchelp.meteor.message.response.MeteorIndexProviderData) value);
            } catch (java.lang.Exception ex) {
              throw new IllegalStateException(ex.toString());
            }
          }

          public java.lang.Object newInstance(java.lang.Object parent) {
            return new org.nchelp.meteor.message.response.MeteorIndexProviderData();
          }
        });
    desc.setHandler(handler);
    desc.setMultivalued(true);
    addFieldDescriptor(desc);

    // -- validation code for: _meteorIndexProviderDataList
    fieldValidator = new org.exolab.castor.xml.FieldValidator();
    fieldValidator.setMinOccurs(0);
    { // -- local scope
    }
    desc.setValidator(fieldValidator);
  } // -- org.nchelp.meteor.message.response.MeteorRsMsgTypeDescriptor()