 
   setList: (list)->
     listToSet = @_parent.choices.get(list)
+    unless listToSet
+      @_parent.choices.add(list)
+      listToSet = @_parent.choices.get(list)
     throw new Error("List not found: #{list}")  unless listToSet
     @get("type").set("list", listToSet)
 

      if rtp.orOtherOption and typeDetail.get("orOther")
        typeStr += " or_other"
      typeDetail.set({value: typeStr}, silent: true)

  getValue: (what)->
    @get(what).get("value")

      columns: oCols
      rowObjects: oRows

    choicesCsvJson = do =>
      lists = []
      @forEachRow (r)->
        if (list = r.getList())
          lists.push(list)

      rows = []
      cols = ["list name", "name", "label"]
      for choiceList in lists
        choiceList.set("name", txtid(), silent: true)  unless choiceList.get("name")
        clName = choiceList.get("name")
        for option in choiceList.options.models
          rows.push _.extend {}, option.toJSON(), "list name": choiceList.get("name")

      columns: cols
      rowObjects: rows

    survey: surveyCsvJson
    choices: choicesCsvJson
    settings: @settings.toCsvJson()

  toCSV: ->
