ntNamesNeeded.length = 0;
    }

    var containmentStack = containmentStackMaker(reverseMultiMap(result));

    var neededSet = newBlankObject();
    for (var i = elementNamesNeeded.length; --i >= 0;) {
      neededSet[elementNamesNeeded[i]] = neededSet;
    }

    if (elementNamesNeeded.length) {
      nNeededLast = elementNamesNeeded.length;
      return runExperiment(
          makeContainerHtmlString, checkCanContain, result, run,
          elementNames);
    } else {
      finishCanContain(result);
  