code: function hotswap(currentNode, newNode, ignoreElements) {
      var newNodeType = newNode.nodeType,
        currentNodeType = currentNode.nodeType,
        swapMethod;
  
      if(newNodeType !== currentNodeType) {
        $(currentNode).replaceWith(newNode);
      } else {
        swapMethod = swapMethods[newNodeType] || swapMethods['default'];
        swapMethod(currentNode, newNode, ignoreElements);
      }
    }
docs: Changes DOM Nodes that are different, and leaves others untouched.
  
  Algorithm:
  Delegates to a particular swapMethod, depending on the Node type.
  Recurses for nested Element Nodes only.
  There is always room for optimizing this method.
  
  @method hotswap
  @param currentNode {Node} The DOM Node corresponding to the existing page content to update
  @param newNode {Node} The detached DOM Node representing the desired DOM subtree
  @param ignoreElements {Array} Array of jQuery selectors for DOM Elements to ignore during render. Can be an expensive check.