docs: function populateItem(subtree, root, deps) {
    var version, directDeps;
  
    // dependency missing from the registry ?!
    if (root.name && (typeof deps[root.name] === 'undefined')) {
      subtree[root.name + '@MISSING_FROM_REGISTRY'] = {};
      return;
    }
  
    version = semver.maxSatisfying(Object.keys(deps[root.name]), root.version);
  
    subtree[root.name + '@' + version] = {};
  
    directDeps = deps[root.name][version].dependencies || {};
  
    Object.keys(directDeps).forEach(function(name) {
      var _dep;
  
      _dep = {
        name    : name,
        version : directDeps[name]
      };
  
      populateItem(subtree[root.name + '@' + version], _dep, deps);
    });
  }