docs: function buildCSVsForSingleForm(formSubmissionModel, params, formId, callback) {
    logger.debug("buildCSVsForSingleForm", params, formId);
  
    var date = params.date;
    var searchParams = params.searchParams || {};
    var fieldHeader = searchParams.fieldHeader;
    var downloadUrl = searchParams.downloadUrl || "";
  
    formId = formId.toString();
  
    params.statusUpdaterFunction({
      message: "Starting export of submissions for form with ID:" + formId
    });
  
    generateQuery(_.defaults({
      formId: formId
    }, searchParams), function(err, singleFormQuery) {
      if (err) {
        return callback(err);
      }
  
      async.waterfall([
        async.apply(buildCompositeForm, formSubmissionModel, formId, singleFormQuery, params.statusUpdaterFunction),
        function buildSubmissionCSVForSingleForm(mergedFields, formName, cb) {
          buildCSVsForSingleMergedForm(formSubmissionModel, {
            date: date,
            fieldHeader: fieldHeader,
            downloadUrl: downloadUrl,
            mergedFields: mergedFields,
            formName: formName,
            formId: formId,
            exportCounter: params.exportCounter,
            singleFormQuery: singleFormQuery,
            statusUpdaterFunction: params.statusUpdaterFunction
          }, cb);
        }
      ], callback);
    });
  }