protected SkinnyDDLRecord getSkinnyDDLRecord(DDLRecord ddlRecord) throws Exception {

    SkinnyDDLRecord skinnyDDLRecord = new SkinnyDDLRecord();

    skinnyDDLRecord.addDynamicElement("uuid", ddlRecord.getUuid());

    DDMFormValues ddmFormValues = ddlRecord.getDDMFormValues();

    populateSkinnyDDLRecord(
        skinnyDDLRecord, ddmFormValues.getDDMFormFieldValues(), ddmFormValues.getDefaultLocale());

    return skinnyDDLRecord;
  }
  protected void populateSkinnyDDLRecord(
      SkinnyDDLRecord skinnyDDLRecord,
      List<DDMFormFieldValue> ddmFormFieldValues,
      Locale defaultLocale) {

    for (DDMFormFieldValue ddmFormFieldValue : ddmFormFieldValues) {
      Value value = ddmFormFieldValue.getValue();

      skinnyDDLRecord.addDynamicElement(
          ddmFormFieldValue.getName(), value.getString(defaultLocale));

      populateSkinnyDDLRecord(
          skinnyDDLRecord, ddmFormFieldValue.getNestedDDMFormFieldValues(), defaultLocale);
    }
  }