public void startElement(String uri, String localName, String qName, Attributes attrs)
      throws SAXException {
    CFBamXMsgSchemaMessageFormatter schemaFormatter = null;
    try {
      // Common XML Attributes
      String attrId = null;
      String attrRevision = null;
      // Value Attributes
      String attrTenantId = null;
      String attrScopeId = null;
      String attrDefSchemaTenantId = null;
      String attrDefSchemaId = null;
      String attrName = null;
      String attrShortName = null;
      String attrLabel = null;
      String attrShortDescription = null;
      String attrDescription = null;
      String attrIsNullable = null;
      String attrGenerateId = null;
      String attrDataScopeId = null;
      String attrViewAccessSecurityId = null;
      String attrEditAccessSecurityId = null;
      String attrViewAccessFrequencyId = null;
      String attrEditAccessFrequencyId = null;
      String attrPrevTenantId = null;
      String attrPrevId = null;
      String attrNextTenantId = null;
      String attrNextId = null;
      String attrDefaultVisibility = null;
      String attrCreatedAt = null;
      String attrCreatedBy = null;
      String attrUpdatedAt = null;
      String attrUpdatedBy = null;
      // Atom Attributes
      String attrDbName = null;
      // StringDef Attributes
      String attrMaxLen = null;
      String attrShowLines = null;
      String attrInitValue = null;
      String attrDefaultValue = null;
      String attrNullValue = null;
      String attrUnknownValue = null;
      // StringCol Attributes
      String attrTableId = null;
      // Attribute Extraction
      String attrLocalName;
      int numAttrs;
      int idxAttr;
      final String S_ProcName = "startElement";
      final String S_LocalName = "LocalName";

      assert qName.equals("RqstStringColCreate");

      CFBamXMsgRqstHandler xmsgRqstHandler = (CFBamXMsgRqstHandler) getParser();
      if (xmsgRqstHandler == null) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "getParser()");
      }

      schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter();

      ICFBamSchemaObj schemaObj = xmsgRqstHandler.getSchemaObj();
      if (schemaObj == null) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "getParser().getSchemaObj()");
      }

      // Instantiate an edit buffer for the parsed information
      ICFBamStringColEditObj editBuff =
          (ICFBamStringColEditObj) schemaObj.getStringColTableObj().newInstance().beginEdit();
      CFBamStringColBuff dataBuff = (CFBamStringColBuff) editBuff.getStringColBuff();
      // Extract Attributes
      numAttrs = attrs.getLength();
      for (idxAttr = 0; idxAttr < numAttrs; idxAttr++) {
        attrLocalName = attrs.getLocalName(idxAttr);
        if (attrLocalName.equals("Id")) {
          if (attrId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("schemaLocation")) {
          // ignored
        } else if (attrLocalName.equals("Revision")) {
          if (attrRevision != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrRevision = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("CreatedAt")) {
          if (attrCreatedAt != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrCreatedAt = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("CreatedBy")) {
          if (attrCreatedBy != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrCreatedBy = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("UpdatedAt")) {
          if (attrUpdatedAt != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrUpdatedAt = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("UpdatedBy")) {
          if (attrUpdatedBy != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrUpdatedBy = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("TenantId")) {
          if (attrTenantId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrTenantId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ScopeId")) {
          if (attrScopeId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrScopeId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DefSchemaTenantId")) {
          if (attrDefSchemaTenantId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDefSchemaTenantId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DefSchemaId")) {
          if (attrDefSchemaId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDefSchemaId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("Name")) {
          if (attrName != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrName = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ShortName")) {
          if (attrShortName != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrShortName = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("Label")) {
          if (attrLabel != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrLabel = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ShortDescription")) {
          if (attrShortDescription != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrShortDescription = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("Description")) {
          if (attrDescription != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDescription = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("IsNullable")) {
          if (attrIsNullable != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrIsNullable = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("GenerateId")) {
          if (attrGenerateId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrGenerateId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DataScopeId")) {
          if (attrDataScopeId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDataScopeId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ViewAccessSecurityId")) {
          if (attrViewAccessSecurityId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrViewAccessSecurityId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("EditAccessSecurityId")) {
          if (attrEditAccessSecurityId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrEditAccessSecurityId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ViewAccessFrequencyId")) {
          if (attrViewAccessFrequencyId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrViewAccessFrequencyId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("EditAccessFrequencyId")) {
          if (attrEditAccessFrequencyId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrEditAccessFrequencyId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("PrevTenantId")) {
          if (attrPrevTenantId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrPrevTenantId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("PrevId")) {
          if (attrPrevId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrPrevId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("NextTenantId")) {
          if (attrNextTenantId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrNextTenantId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("NextId")) {
          if (attrNextId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrNextId = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DefaultVisibility")) {
          if (attrDefaultVisibility != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDefaultVisibility = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DbName")) {
          if (attrDbName != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDbName = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("MaxLen")) {
          if (attrMaxLen != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrMaxLen = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("ShowLines")) {
          if (attrShowLines != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrShowLines = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("InitValue")) {
          if (attrInitValue != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrInitValue = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("DefaultValue")) {
          if (attrDefaultValue != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrDefaultValue = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("NullValue")) {
          if (attrNullValue != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrNullValue = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("UnknownValue")) {
          if (attrUnknownValue != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrUnknownValue = attrs.getValue(idxAttr);
        } else if (attrLocalName.equals("TableId")) {
          if (attrTableId != null) {
            throw CFLib.getDefaultExceptionFactory()
                .newUniqueIndexViolationException(
                    getClass(), S_ProcName, S_LocalName, attrLocalName);
          }
          attrTableId = attrs.getValue(idxAttr);
        } else {
          throw CFLib.getDefaultExceptionFactory()
              .newUnrecognizedAttributeException(
                  getClass(), S_ProcName, getParser().getLocationInfo(), attrLocalName);
        }
      }

      // Ensure that required attributes have values
      if ((attrTenantId == null) || (attrTenantId.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "TenantId");
      }
      if ((attrScopeId == null) || (attrScopeId.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "ScopeId");
      }
      if ((attrId == null) || (attrId.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "Id");
      }
      if (attrName == null) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "Name");
      }
      if ((attrIsNullable == null) || (attrIsNullable.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "IsNullable");
      }
      if ((attrDefaultVisibility == null) || (attrDefaultVisibility.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "DefaultVisibility");
      }
      if ((attrMaxLen == null) || (attrMaxLen.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "MaxLen");
      }
      if ((attrShowLines == null) || (attrShowLines.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "ShowLines");
      }
      if ((attrTableId == null) || (attrTableId.length() <= 0)) {
        throw CFLib.getDefaultExceptionFactory()
            .newNullArgumentException(getClass(), S_ProcName, 0, "TableId");
      }

      // Save named attributes to context
      CFLibXmlCoreContext curContext = getParser().getCurContext();

      // Convert string attributes to native Java types
      // and apply the converted attributes to the editBuff.
      long natTenantId = Long.parseLong(attrTenantId);

      dataBuff.setRequiredTenantId(natTenantId);

      long natScopeId = Long.parseLong(attrScopeId);

      dataBuff.setRequiredScopeId(natScopeId);

      Long natDefSchemaTenantId;
      if ((attrDefSchemaTenantId == null) || (attrDefSchemaTenantId.length() <= 0)) {
        natDefSchemaTenantId = null;
      } else {
        natDefSchemaTenantId = new Long(Long.parseLong(attrDefSchemaTenantId));
      }

      dataBuff.setOptionalDefSchemaTenantId(natDefSchemaTenantId);

      Long natDefSchemaId;
      if ((attrDefSchemaId == null) || (attrDefSchemaId.length() <= 0)) {
        natDefSchemaId = null;
      } else {
        natDefSchemaId = new Long(Long.parseLong(attrDefSchemaId));
      }

      dataBuff.setOptionalDefSchemaId(natDefSchemaId);

      String natName = attrName;

      dataBuff.setRequiredName(natName);

      String natShortName = attrShortName;

      dataBuff.setOptionalShortName(natShortName);

      String natLabel = attrLabel;

      dataBuff.setOptionalLabel(natLabel);

      String natShortDescription = attrShortDescription;

      dataBuff.setOptionalShortDescription(natShortDescription);

      String natDescription = attrDescription;

      dataBuff.setOptionalDescription(natDescription);

      boolean natIsNullable;
      if (attrIsNullable.equals("true")
          || attrIsNullable.equals("yes")
          || attrIsNullable.equals("1")) {
        natIsNullable = true;
      } else if (attrIsNullable.equals("false")
          || attrIsNullable.equals("no")
          || attrIsNullable.equals("0")) {
        natIsNullable = false;
      } else {
        throw CFLib.getDefaultExceptionFactory()
            .newUsageException(
                getClass(),
                S_ProcName,
                "Unexpected IsNullable value, must be one of true, false, yes, no, 1, or 0, not \""
                    + attrIsNullable
                    + "\"");
      }

      dataBuff.setRequiredIsNullable(natIsNullable);

      Boolean natGenerateId;
      if ((attrGenerateId == null) || (attrGenerateId.length() <= 0)) {
        natGenerateId = null;
      } else if (attrGenerateId.equals("true")
          || attrGenerateId.equals("yes")
          || attrGenerateId.equals("1")) {
        natGenerateId = true;
      } else if (attrGenerateId.equals("false")
          || attrGenerateId.equals("no")
          || attrGenerateId.equals("0")) {
        natGenerateId = false;
      } else {
        throw CFLib.getDefaultExceptionFactory()
            .newUsageException(
                getClass(),
                S_ProcName,
                "Unexpected GenerateId value, must be one of true, false, yes, no, 1, or 0, not \""
                    + attrGenerateId
                    + "\"");
      }

      dataBuff.setOptionalGenerateId(natGenerateId);

      Short natDataScopeId;
      if ((attrDataScopeId == null) || (attrDataScopeId.length() <= 0)) {
        natDataScopeId = null;
      } else {
        natDataScopeId = new Short(Short.parseShort(attrDataScopeId));
      }

      dataBuff.setOptionalDataScopeId(natDataScopeId);

      Short natViewAccessSecurityId;
      if ((attrViewAccessSecurityId == null) || (attrViewAccessSecurityId.length() <= 0)) {
        natViewAccessSecurityId = null;
      } else {
        natViewAccessSecurityId = new Short(Short.parseShort(attrViewAccessSecurityId));
      }

      dataBuff.setOptionalViewAccessSecurityId(natViewAccessSecurityId);

      Short natEditAccessSecurityId;
      if ((attrEditAccessSecurityId == null) || (attrEditAccessSecurityId.length() <= 0)) {
        natEditAccessSecurityId = null;
      } else {
        natEditAccessSecurityId = new Short(Short.parseShort(attrEditAccessSecurityId));
      }

      dataBuff.setOptionalEditAccessSecurityId(natEditAccessSecurityId);

      Short natViewAccessFrequencyId;
      if ((attrViewAccessFrequencyId == null) || (attrViewAccessFrequencyId.length() <= 0)) {
        natViewAccessFrequencyId = null;
      } else {
        natViewAccessFrequencyId = new Short(Short.parseShort(attrViewAccessFrequencyId));
      }

      dataBuff.setOptionalViewAccessFrequencyId(natViewAccessFrequencyId);

      Short natEditAccessFrequencyId;
      if ((attrEditAccessFrequencyId == null) || (attrEditAccessFrequencyId.length() <= 0)) {
        natEditAccessFrequencyId = null;
      } else {
        natEditAccessFrequencyId = new Short(Short.parseShort(attrEditAccessFrequencyId));
      }

      dataBuff.setOptionalEditAccessFrequencyId(natEditAccessFrequencyId);

      Long natPrevTenantId;
      if ((attrPrevTenantId == null) || (attrPrevTenantId.length() <= 0)) {
        natPrevTenantId = null;
      } else {
        natPrevTenantId = new Long(Long.parseLong(attrPrevTenantId));
      }

      dataBuff.setOptionalPrevTenantId(natPrevTenantId);

      Long natPrevId;
      if ((attrPrevId == null) || (attrPrevId.length() <= 0)) {
        natPrevId = null;
      } else {
        natPrevId = new Long(Long.parseLong(attrPrevId));
      }

      dataBuff.setOptionalPrevId(natPrevId);

      Long natNextTenantId;
      if ((attrNextTenantId == null) || (attrNextTenantId.length() <= 0)) {
        natNextTenantId = null;
      } else {
        natNextTenantId = new Long(Long.parseLong(attrNextTenantId));
      }

      dataBuff.setOptionalNextTenantId(natNextTenantId);

      Long natNextId;
      if ((attrNextId == null) || (attrNextId.length() <= 0)) {
        natNextId = null;
      } else {
        natNextId = new Long(Long.parseLong(attrNextId));
      }

      dataBuff.setOptionalNextId(natNextId);

      boolean natDefaultVisibility;
      if (attrDefaultVisibility.equals("true")
          || attrDefaultVisibility.equals("yes")
          || attrDefaultVisibility.equals("1")) {
        natDefaultVisibility = true;
      } else if (attrDefaultVisibility.equals("false")
          || attrDefaultVisibility.equals("no")
          || attrDefaultVisibility.equals("0")) {
        natDefaultVisibility = false;
      } else {
        throw CFLib.getDefaultExceptionFactory()
            .newUsageException(
                getClass(),
                S_ProcName,
                "Unexpected DefaultVisibility value, must be one of true, false, yes, no, 1, or 0, not \""
                    + attrDefaultVisibility
                    + "\"");
      }

      dataBuff.setRequiredDefaultVisibility(natDefaultVisibility);

      UUID createdBy = null;
      if (attrCreatedBy != null) {
        createdBy = UUID.fromString(attrCreatedBy);
      }
      Calendar createdAt = null;
      if (attrCreatedAt != null) {
        createdAt = CFLibXmlUtil.parseTimestamp(attrCreatedAt);
      }
      UUID updatedBy = null;
      if (attrUpdatedBy != null) {
        updatedBy = UUID.fromString(attrUpdatedBy);
      }
      Calendar updatedAt = null;
      if (attrUpdatedAt != null) {
        updatedAt = CFLibXmlUtil.parseTimestamp(attrUpdatedAt);
      }
      if (createdBy != null) {
        dataBuff.setCreatedByUserId(createdBy);
      }
      if (createdAt != null) {
        dataBuff.setCreatedAt(createdAt);
      }
      if (updatedBy != null) {
        dataBuff.setUpdatedByUserId(updatedBy);
      }
      if (updatedAt != null) {
        dataBuff.setUpdatedAt(updatedAt);
      }
      String natDbName = attrDbName;

      dataBuff.setOptionalDbName(natDbName);

      int natMaxLen = Integer.parseInt(attrMaxLen);

      dataBuff.setRequiredMaxLen(natMaxLen);

      short natShowLines = Short.parseShort(attrShowLines);

      dataBuff.setRequiredShowLines(natShowLines);

      String natInitValue = attrInitValue;

      dataBuff.setOptionalInitValue(natInitValue);

      String natDefaultValue = attrDefaultValue;

      dataBuff.setOptionalDefaultValue(natDefaultValue);

      String natNullValue = attrNullValue;

      dataBuff.setOptionalNullValue(natNullValue);

      String natUnknownValue = attrUnknownValue;

      dataBuff.setOptionalUnknownValue(natUnknownValue);

      long natTableId = Long.parseLong(attrTableId);

      dataBuff.setRequiredTableId(natTableId);

      //	Attempt the create
      editBuff.copyBuffToPKey(); // Allow for predefined ids
      ICFBamStringColObj created = (ICFBamStringColObj) editBuff.create();
      editBuff.endEdit();
      String response =
          schemaFormatter.formatRspnXmlPreamble()
              + "\n"
              + "\t"
              + CFBamXMsgStringColMessageFormatter.formatStringColRspnCreated(
                  "\n\t\t\t", created.getStringColBuff())
              + "\n"
              + schemaFormatter.formatRspnXmlPostamble();
      ((CFBamXMsgRqstHandler) getParser()).appendResponse(response);
    } catch (RuntimeException e) {
      CFBamXMsgRqstHandler xmsgRqstHandler = ((CFBamXMsgRqstHandler) getParser());
      schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter();
      String response =
          schemaFormatter.formatRspnXmlPreamble()
              + "\n"
              + "\t"
              + CFBamXMsgSchemaMessageFormatter.formatRspnException("\n\t\t\t", e)
              + "\n"
              + schemaFormatter.formatRspnXmlPostamble();
      xmsgRqstHandler.resetResponse();
      xmsgRqstHandler.appendResponse(response);
      xmsgRqstHandler.setCaughtException(true);
    } catch (Error e) {
      CFBamXMsgRqstHandler xmsgRqstHandler = ((CFBamXMsgRqstHandler) getParser());
      schemaFormatter = xmsgRqstHandler.getSchemaMessageFormatter();
      String response =
          schemaFormatter.formatRspnXmlPreamble()
              + "\n"
              + "\t"
              + CFBamXMsgSchemaMessageFormatter.formatRspnException("\n\t\t\t", e)
              + "\n"
              + schemaFormatter.formatRspnXmlPostamble();
      xmsgRqstHandler.resetResponse();
      xmsgRqstHandler.appendResponse(response);
      xmsgRqstHandler.setCaughtException(true);
    }
  }
 public static String formatValueRspnDerivedRec(String separator, CFBamValueBuff buff) {
   String retval;
   final String S_ProcName = "formatValueRspnDerivedRec";
   String classCode = buff.getClassCode();
   if (classCode.equals("VALU")) {
     retval = formatValueRspnRec(separator, buff);
   } else if (classCode.equals("TBLC")) {
     retval =
         CFBamXMsgTableColMessageFormatter.formatTableColRspnRec(
             separator, (CFBamTableColBuff) buff);
   } else if (classCode.equals("ATOM")) {
     retval = CFBamXMsgAtomMessageFormatter.formatAtomRspnRec(separator, (CFBamAtomBuff) buff);
   } else if (classCode.equals("BLBD")) {
     retval =
         CFBamXMsgBlobDefMessageFormatter.formatBlobDefRspnRec(separator, (CFBamBlobDefBuff) buff);
   } else if (classCode.equals("BLBC")) {
     retval =
         CFBamXMsgBlobColMessageFormatter.formatBlobColRspnRec(separator, (CFBamBlobColBuff) buff);
   } else if (classCode.equals("BLBT")) {
     retval =
         CFBamXMsgBlobTypeMessageFormatter.formatBlobTypeRspnRec(
             separator, (CFBamBlobTypeBuff) buff);
   } else if (classCode.equals("BOLD")) {
     retval =
         CFBamXMsgBoolDefMessageFormatter.formatBoolDefRspnRec(separator, (CFBamBoolDefBuff) buff);
   } else if (classCode.equals("BOLC")) {
     retval =
         CFBamXMsgBoolColMessageFormatter.formatBoolColRspnRec(separator, (CFBamBoolColBuff) buff);
   } else if (classCode.equals("BOLT")) {
     retval =
         CFBamXMsgBoolTypeMessageFormatter.formatBoolTypeRspnRec(
             separator, (CFBamBoolTypeBuff) buff);
   } else if (classCode.equals("I16D")) {
     retval =
         CFBamXMsgInt16DefMessageFormatter.formatInt16DefRspnRec(
             separator, (CFBamInt16DefBuff) buff);
   } else if (classCode.equals("I16C")) {
     retval =
         CFBamXMsgInt16ColMessageFormatter.formatInt16ColRspnRec(
             separator, (CFBamInt16ColBuff) buff);
   } else if (classCode.equals("I16T")) {
     retval =
         CFBamXMsgInt16TypeMessageFormatter.formatInt16TypeRspnRec(
             separator, (CFBamInt16TypeBuff) buff);
   } else if (classCode.equals("IG16")) {
     retval =
         CFBamXMsgId16GenMessageFormatter.formatId16GenRspnRec(separator, (CFBamId16GenBuff) buff);
   } else if (classCode.equals("ENMD")) {
     retval =
         CFBamXMsgEnumDefMessageFormatter.formatEnumDefRspnRec(separator, (CFBamEnumDefBuff) buff);
   } else if (classCode.equals("ENMC")) {
     retval =
         CFBamXMsgEnumColMessageFormatter.formatEnumColRspnRec(separator, (CFBamEnumColBuff) buff);
   } else if (classCode.equals("ENMT")) {
     retval =
         CFBamXMsgEnumTypeMessageFormatter.formatEnumTypeRspnRec(
             separator, (CFBamEnumTypeBuff) buff);
   } else if (classCode.equals("I32D")) {
     retval =
         CFBamXMsgInt32DefMessageFormatter.formatInt32DefRspnRec(
             separator, (CFBamInt32DefBuff) buff);
   } else if (classCode.equals("I32C")) {
     retval =
         CFBamXMsgInt32ColMessageFormatter.formatInt32ColRspnRec(
             separator, (CFBamInt32ColBuff) buff);
   } else if (classCode.equals("I32T")) {
     retval =
         CFBamXMsgInt32TypeMessageFormatter.formatInt32TypeRspnRec(
             separator, (CFBamInt32TypeBuff) buff);
   } else if (classCode.equals("IG32")) {
     retval =
         CFBamXMsgId32GenMessageFormatter.formatId32GenRspnRec(separator, (CFBamId32GenBuff) buff);
   } else if (classCode.equals("I64D")) {
     retval =
         CFBamXMsgInt64DefMessageFormatter.formatInt64DefRspnRec(
             separator, (CFBamInt64DefBuff) buff);
   } else if (classCode.equals("I64C")) {
     retval =
         CFBamXMsgInt64ColMessageFormatter.formatInt64ColRspnRec(
             separator, (CFBamInt64ColBuff) buff);
   } else if (classCode.equals("I64T")) {
     retval =
         CFBamXMsgInt64TypeMessageFormatter.formatInt64TypeRspnRec(
             separator, (CFBamInt64TypeBuff) buff);
   } else if (classCode.equals("IG64")) {
     retval =
         CFBamXMsgId64GenMessageFormatter.formatId64GenRspnRec(separator, (CFBamId64GenBuff) buff);
   } else if (classCode.equals("U16D")) {
     retval =
         CFBamXMsgUInt16DefMessageFormatter.formatUInt16DefRspnRec(
             separator, (CFBamUInt16DefBuff) buff);
   } else if (classCode.equals("U16C")) {
     retval =
         CFBamXMsgUInt16ColMessageFormatter.formatUInt16ColRspnRec(
             separator, (CFBamUInt16ColBuff) buff);
   } else if (classCode.equals("U16T")) {
     retval =
         CFBamXMsgUInt16TypeMessageFormatter.formatUInt16TypeRspnRec(
             separator, (CFBamUInt16TypeBuff) buff);
   } else if (classCode.equals("U32D")) {
     retval =
         CFBamXMsgUInt32DefMessageFormatter.formatUInt32DefRspnRec(
             separator, (CFBamUInt32DefBuff) buff);
   } else if (classCode.equals("U32C")) {
     retval =
         CFBamXMsgUInt32ColMessageFormatter.formatUInt32ColRspnRec(
             separator, (CFBamUInt32ColBuff) buff);
   } else if (classCode.equals("U32T")) {
     retval =
         CFBamXMsgUInt32TypeMessageFormatter.formatUInt32TypeRspnRec(
             separator, (CFBamUInt32TypeBuff) buff);
   } else if (classCode.equals("U64D")) {
     retval =
         CFBamXMsgUInt64DefMessageFormatter.formatUInt64DefRspnRec(
             separator, (CFBamUInt64DefBuff) buff);
   } else if (classCode.equals("U64C")) {
     retval =
         CFBamXMsgUInt64ColMessageFormatter.formatUInt64ColRspnRec(
             separator, (CFBamUInt64ColBuff) buff);
   } else if (classCode.equals("U64T")) {
     retval =
         CFBamXMsgUInt64TypeMessageFormatter.formatUInt64TypeRspnRec(
             separator, (CFBamUInt64TypeBuff) buff);
   } else if (classCode.equals("FLTD")) {
     retval =
         CFBamXMsgFloatDefMessageFormatter.formatFloatDefRspnRec(
             separator, (CFBamFloatDefBuff) buff);
   } else if (classCode.equals("FLTC")) {
     retval =
         CFBamXMsgFloatColMessageFormatter.formatFloatColRspnRec(
             separator, (CFBamFloatColBuff) buff);
   } else if (classCode.equals("FLTT")) {
     retval =
         CFBamXMsgFloatTypeMessageFormatter.formatFloatTypeRspnRec(
             separator, (CFBamFloatTypeBuff) buff);
   } else if (classCode.equals("DBLD")) {
     retval =
         CFBamXMsgDoubleDefMessageFormatter.formatDoubleDefRspnRec(
             separator, (CFBamDoubleDefBuff) buff);
   } else if (classCode.equals("DBLC")) {
     retval =
         CFBamXMsgDoubleColMessageFormatter.formatDoubleColRspnRec(
             separator, (CFBamDoubleColBuff) buff);
   } else if (classCode.equals("DBLT")) {
     retval =
         CFBamXMsgDoubleTypeMessageFormatter.formatDoubleTypeRspnRec(
             separator, (CFBamDoubleTypeBuff) buff);
   } else if (classCode.equals("NUMD")) {
     retval =
         CFBamXMsgNumberDefMessageFormatter.formatNumberDefRspnRec(
             separator, (CFBamNumberDefBuff) buff);
   } else if (classCode.equals("NUMC")) {
     retval =
         CFBamXMsgNumberColMessageFormatter.formatNumberColRspnRec(
             separator, (CFBamNumberColBuff) buff);
   } else if (classCode.equals("NUMT")) {
     retval =
         CFBamXMsgNumberTypeMessageFormatter.formatNumberTypeRspnRec(
             separator, (CFBamNumberTypeBuff) buff);
   } else if (classCode.equals("STRD")) {
     retval =
         CFBamXMsgStringDefMessageFormatter.formatStringDefRspnRec(
             separator, (CFBamStringDefBuff) buff);
   } else if (classCode.equals("STRC")) {
     retval =
         CFBamXMsgStringColMessageFormatter.formatStringColRspnRec(
             separator, (CFBamStringColBuff) buff);
   } else if (classCode.equals("STRT")) {
     retval =
         CFBamXMsgStringTypeMessageFormatter.formatStringTypeRspnRec(
             separator, (CFBamStringTypeBuff) buff);
   } else if (classCode.equals("TXTD")) {
     retval =
         CFBamXMsgTextDefMessageFormatter.formatTextDefRspnRec(separator, (CFBamTextDefBuff) buff);
   } else if (classCode.equals("TXTC")) {
     retval =
         CFBamXMsgTextColMessageFormatter.formatTextColRspnRec(separator, (CFBamTextColBuff) buff);
   } else if (classCode.equals("TXTT")) {
     retval =
         CFBamXMsgTextTypeMessageFormatter.formatTextTypeRspnRec(
             separator, (CFBamTextTypeBuff) buff);
   } else if (classCode.equals("NTKD")) {
     retval =
         CFBamXMsgNmTokenDefMessageFormatter.formatNmTokenDefRspnRec(
             separator, (CFBamNmTokenDefBuff) buff);
   } else if (classCode.equals("NTKC")) {
     retval =
         CFBamXMsgNmTokenColMessageFormatter.formatNmTokenColRspnRec(
             separator, (CFBamNmTokenColBuff) buff);
   } else if (classCode.equals("NTKT")) {
     retval =
         CFBamXMsgNmTokenTypeMessageFormatter.formatNmTokenTypeRspnRec(
             separator, (CFBamNmTokenTypeBuff) buff);
   } else if (classCode.equals("NTSD")) {
     retval =
         CFBamXMsgNmTokensDefMessageFormatter.formatNmTokensDefRspnRec(
             separator, (CFBamNmTokensDefBuff) buff);
   } else if (classCode.equals("NTSC")) {
     retval =
         CFBamXMsgNmTokensColMessageFormatter.formatNmTokensColRspnRec(
             separator, (CFBamNmTokensColBuff) buff);
   } else if (classCode.equals("NTST")) {
     retval =
         CFBamXMsgNmTokensTypeMessageFormatter.formatNmTokensTypeRspnRec(
             separator, (CFBamNmTokensTypeBuff) buff);
   } else if (classCode.equals("TKND")) {
     retval =
         CFBamXMsgTokenDefMessageFormatter.formatTokenDefRspnRec(
             separator, (CFBamTokenDefBuff) buff);
   } else if (classCode.equals("TKNC")) {
     retval =
         CFBamXMsgTokenColMessageFormatter.formatTokenColRspnRec(
             separator, (CFBamTokenColBuff) buff);
   } else if (classCode.equals("TKNT")) {
     retval =
         CFBamXMsgTokenTypeMessageFormatter.formatTokenTypeRspnRec(
             separator, (CFBamTokenTypeBuff) buff);
   } else if (classCode.equals("DATD")) {
     retval =
         CFBamXMsgDateDefMessageFormatter.formatDateDefRspnRec(separator, (CFBamDateDefBuff) buff);
   } else if (classCode.equals("DATC")) {
     retval =
         CFBamXMsgDateColMessageFormatter.formatDateColRspnRec(separator, (CFBamDateColBuff) buff);
   } else if (classCode.equals("DATT")) {
     retval =
         CFBamXMsgDateTypeMessageFormatter.formatDateTypeRspnRec(
             separator, (CFBamDateTypeBuff) buff);
   } else if (classCode.equals("TIMD")) {
     retval =
         CFBamXMsgTimeDefMessageFormatter.formatTimeDefRspnRec(separator, (CFBamTimeDefBuff) buff);
   } else if (classCode.equals("TIMC")) {
     retval =
         CFBamXMsgTimeColMessageFormatter.formatTimeColRspnRec(separator, (CFBamTimeColBuff) buff);
   } else if (classCode.equals("TIMT")) {
     retval =
         CFBamXMsgTimeTypeMessageFormatter.formatTimeTypeRspnRec(
             separator, (CFBamTimeTypeBuff) buff);
   } else if (classCode.equals("TSPD")) {
     retval =
         CFBamXMsgTimestampDefMessageFormatter.formatTimestampDefRspnRec(
             separator, (CFBamTimestampDefBuff) buff);
   } else if (classCode.equals("TSPC")) {
     retval =
         CFBamXMsgTimestampColMessageFormatter.formatTimestampColRspnRec(
             separator, (CFBamTimestampColBuff) buff);
   } else if (classCode.equals("TSPT")) {
     retval =
         CFBamXMsgTimestampTypeMessageFormatter.formatTimestampTypeRspnRec(
             separator, (CFBamTimestampTypeBuff) buff);
   } else if (classCode.equals("DAZD")) {
     retval =
         CFBamXMsgTZDateDefMessageFormatter.formatTZDateDefRspnRec(
             separator, (CFBamTZDateDefBuff) buff);
   } else if (classCode.equals("DAZC")) {
     retval =
         CFBamXMsgTZDateColMessageFormatter.formatTZDateColRspnRec(
             separator, (CFBamTZDateColBuff) buff);
   } else if (classCode.equals("DAZT")) {
     retval =
         CFBamXMsgTZDateTypeMessageFormatter.formatTZDateTypeRspnRec(
             separator, (CFBamTZDateTypeBuff) buff);
   } else if (classCode.equals("TMZD")) {
     retval =
         CFBamXMsgTZTimeDefMessageFormatter.formatTZTimeDefRspnRec(
             separator, (CFBamTZTimeDefBuff) buff);
   } else if (classCode.equals("TMZC")) {
     retval =
         CFBamXMsgTZTimeColMessageFormatter.formatTZTimeColRspnRec(
             separator, (CFBamTZTimeColBuff) buff);
   } else if (classCode.equals("TMZT")) {
     retval =
         CFBamXMsgTZTimeTypeMessageFormatter.formatTZTimeTypeRspnRec(
             separator, (CFBamTZTimeTypeBuff) buff);
   } else if (classCode.equals("ZSTD")) {
     retval =
         CFBamXMsgTZTimestampDefMessageFormatter.formatTZTimestampDefRspnRec(
             separator, (CFBamTZTimestampDefBuff) buff);
   } else if (classCode.equals("ZSTC")) {
     retval =
         CFBamXMsgTZTimestampColMessageFormatter.formatTZTimestampColRspnRec(
             separator, (CFBamTZTimestampColBuff) buff);
   } else if (classCode.equals("ZSTT")) {
     retval =
         CFBamXMsgTZTimestampTypeMessageFormatter.formatTZTimestampTypeRspnRec(
             separator, (CFBamTZTimestampTypeBuff) buff);
   } else if (classCode.equals("UIDD")) {
     retval =
         CFBamXMsgUuidDefMessageFormatter.formatUuidDefRspnRec(separator, (CFBamUuidDefBuff) buff);
   } else if (classCode.equals("UIDC")) {
     retval =
         CFBamXMsgUuidColMessageFormatter.formatUuidColRspnRec(separator, (CFBamUuidColBuff) buff);
   } else if (classCode.equals("UIDT")) {
     retval =
         CFBamXMsgUuidTypeMessageFormatter.formatUuidTypeRspnRec(
             separator, (CFBamUuidTypeBuff) buff);
   } else if (classCode.equals("IGUU")) {
     retval =
         CFBamXMsgUuidGenMessageFormatter.formatUuidGenRspnRec(separator, (CFBamUuidGenBuff) buff);
   } else {
     throw CFLib.getDefaultExceptionFactory()
         .newUnsupportedClassException(
             CFBamXMsgValueMessageFormatter.class,
             S_ProcName,
             "buff",
             buff,
             "derivative of Value");
   }
   return (retval);
 }