docs: function DOMWalker__walk(root) {
      if (!root.childNodes)
        throw new Error("root.childNodes does not exist");
  
      var collectedResults = [];
  
      for (var i = 0; i < root.childNodes.length; i++) {
        var nodeStatus = this._callbackFilter(root.childNodes[i]);
  
        var nodeTestResults = [];
  
        switch (nodeStatus) {
          case DOMWalker.FILTER_ACCEPT:
            nodeTestResults = this._callbackNodeTest(root.childNodes[i]);
            collectedResults = collectedResults.concat(nodeTestResults);
            // no break here as we have to perform the _walk below too
          case DOMWalker.FILTER_SKIP:
            nodeTestResults = this._walk(root.childNodes[i]);
            break;
          default:
            break;
        }
  
        collectedResults = collectedResults.concat(nodeTestResults);
      }
      return collectedResults;
    }