code: function fetchUnmetDependencies() {
          var runAgain = false;
          for (var id in dependencyMap) {
              _.forEach(dependencyMap[id], function (depId) {
                  if (!dependencyMap[depId] && !injectedMap[depId]) {
                      try {
                          loadExternalModule(id, depId);
                      } catch (err) {
                          throw new Error('Error loading dependency ' + depId + ' for ' + id + ': ' + err.message);
                      }
  
                      runAgain = true;
                  }
              });
          }
  
          if (runAgain) { //continue until all we don't have any more unmet dependencies
              fetchUnmetDependencies();
          }
      }
docs: Recursively find any unmet dependencies in the dependency tree.
  Unmet dependencies are assumed to be third party modules, so it will
  continue to load those modules until all dependencies have been met.