code: function (modName, runtime, stack, errorList, cache) {
              var mods = runtime.Env.mods,
                  status,
                  m = mods[modName];
              if (modName in cache) {
                  return cache[modName];
              }
              if (!m) {
                  return cache[modName] = 0;
              }
              status = m.status;
              if (status == ATTACHED) {
                  return cache[modName] = 1;
              }
              if (status == ERROR) {
                  errorList.push(m);
              }
              if (status != LOADED) {
                  return cache[modName] = 0;
              }
              if ('@DEBUG@') {
                  if (S.inArray(modName, stack)) {
                      stack.push(modName);
                      S.error('find cyclic dependency between mods: ' + stack);
                      return cache[modName] = 0;
                  }
                  stack.push(modName);
              }
              if (Utils.attachModsRecursively(m.getNormalizedRequires(),
                  runtime, stack, errorList, cache)) {
                  Utils.attachMod(runtime, m);
                  return cache[modName] = 1;
              }
              return cache[modName] = 0;
          }
docs: attach module and its dependency modules recursively
  @param {String} modName module name
  @param runtime Module container, such as KISSY
  @param {String[]} [stack] stack for detecting circular dependency
  @param {Array} [errorList] errors when attach mods
  @param {Object} [cache] cached modules to avoid duplicate check
  @returns whether success attach all modules