code: function nextPermutation(skipped) {
          if(!skipped && (chosenPath === null || path < chosenPath)) {
            chosenPath = path;
            chosenNamer = pathNamerCopy;
          }
  
          // do next permutation
          if(permutator.hasNext()) {
            jsonld.setImmediate(function() {permutate();});
          }
          else {
            // digest chosen path and update namer
            md.update(chosenPath);
            pathNamer = chosenNamer;
  
            // hash the next group
            hashGroup(i + 1);
          }
        }
docs: stores the results of this permutation and runs the next