code: private List<UDFAssignmentType> writeUDFType(FieldTypeClass type, FieldContainer mpxj)
     {
        List<UDFAssignmentType> out = new ArrayList<UDFAssignmentType>();
        for (CustomField cf : m_sortedCustomFieldsList)
        {
           FieldType fieldType = cf.getFieldType();
           if (fieldType != null && type == fieldType.getFieldTypeClass())
           {
              Object value = mpxj.getCachedValue(fieldType);
              if (FieldTypeHelper.valueIsNotDefault(fieldType, value))
              {
                 UDFAssignmentType udf = m_factory.createUDFAssignmentType();
                 udf.setTypeObjectId(FieldTypeHelper.getFieldID(fieldType));
                 setUserFieldValue(udf, fieldType.getDataType(), value);
                 out.add(udf);
              }
           }
        }
        return out;
     }
docs: Writes a list of UDF types.
  
  @author lsong
  @param type parent entity type
  @param mpxj parent entity
  @return list of UDFAssignmentType instances