src/libs/Module.js
function _multiModuleStart(oInstance, aModulesIds, sIdInstance, oData, bSingle) {
  var aInstancesIds, aData, aSingle, nIndex, nLenModules, sModuleId;
  if (isArray(sIdInstance)) {
    aInstancesIds = copyArray(sIdInstance);
  }
  if (isArray(oData)) {
    aData = copyArray(oData);
  }
  if (isArray(bSingle)) {
    aSingle = copyArray(bSingle);
  }
  for (nIndex = 0, nLenModules = aModulesIds.length; nIndex < nLenModules; nIndex++) {
    sModuleId = aModulesIds[nIndex];
    sIdInstance = aInstancesIds && aInstancesIds[nIndex] || generateUniqueKey();
    oData = aData && aData[nIndex] || oData;
    bSingle = aSingle && aSingle[nIndex] || bSingle;
    startSingleModule(oInstance, sModuleId, sIdInstance, oData, bSingle);
  }
}
function _multiModuleStart(oInstance, aModulesIds, sIdInstance, oData, bSingle) {
  var aInstancesIds, aData, aSingle, nIndex, nLenModules, sModuleId;
  if (isArray(sIdInstance)) {
    aInstancesIds = copyArray(sIdInstance);
  }
  if (isArray(oData)) {
    aData = copyArray(oData);
  }
  if (isArray(bSingle)) {
    aSingle = copyArray(bSingle);
  }
  for (nIndex = 0, nLenModules = aModulesIds.length; nIndex < nLenModules; nIndex++) {
    sModuleId = aModulesIds[nIndex];
    sIdInstance = aInstancesIds && aInstancesIds[nIndex] || generateUniqueKey();
    oData = aData && aData[nIndex] || oData;
    bSingle = aSingle && aSingle[nIndex] || bSingle;
    startSingleModule(oInstance, sModuleId, sIdInstance, oData, bSingle);
  }
}
start more than one module at the same time.
@param {Object} oInstance
@param {Array<String>} aModulesIds
@param {String} sIdInstance
@param {Object} oData
@param {Boolean} bSingle
@private