code: function(System, Promise, files, importRegexps) {
        // Chain import promises to maintain sequence
        var promise = Promise.resolve();
        for (var x = 0; x < importRegexps.length; x++) {
          var moduleNames = adapter.getMatchingModulesToImport(files, importRegexps[x], System);
          for (var i = 0; i < moduleNames.length; i++) {
            promise = adapter.chainImport(promise, moduleNames[i], System);
          }
        }
        return promise;
      }
docs: Handles calling System.import() for files where each import promise is chained into the next import promise,
  returning a promise that resolves once the last import has completed.
  @param System {object}
  @param Promise {object}
  @param files {object}
  @param importRegexps {object[]}
  @returns {promise}