code: function fixUpVirtualElements(contiguousNodeArray) {
          // Ensures that contiguousNodeArray really *is* an array of contiguous siblings, even if some of the interior
          // ones have changed since your array was first built (e.g., because your array contains virtual elements, and
          // their virtual children changed when binding was applied to them).
          // This is needed so that we can reliably remove or update the nodes corresponding to a given array item
  
          if (contiguousNodeArray.length > 2) {
              // Build up the actual new contiguous node set
              var current = contiguousNodeArray[0], last = contiguousNodeArray[contiguousNodeArray.length - 1], newContiguousSet = [current];
              while (current !== last) {
                  current = current.nextSibling;
                  if (!current) // Won't happen, except if the developer has manually removed some DOM elements (then we're in an undefined scenario)
                      return;
                  newContiguousSet.push(current);
              }
  
              // ... then mutate the input array to match this.
              // (The following line replaces the contents of contiguousNodeArray with newContiguousSet)
              Array.prototype.splice.apply(contiguousNodeArray, [0, contiguousNodeArray.length].concat(newContiguousSet));
          }
      }
docs: "callbackAfterAddingNodes" will be invoked after any "mapping"-generated nodes are inserted into the container node You can use this, for example, to activate bindings on those nodes.