code: function process(node) {
            var children, i, l, lastContentEditable, hasContentEditableState;
  
            // Node has a contentEditable value
            if (node.nodeType === 1 && getContentEditable(node)) {
              lastContentEditable = contentEditable;
              contentEditable = getContentEditable(node) === "true";
              hasContentEditableState = true; // We don't want to wrap the container only it's children
            }
  
            // Grab the children first since the nodelist might be changed
            children = grep(node.childNodes);
  
            // Process current node
            if (contentEditable && !hasContentEditableState) {
              for (i = 0, l = formatList.length; i < l; i++) {
                if (removeFormat(formatList[i], vars, node, node)) {
                  break;
                }
              }
            }
  
            // Process the children
            if (format.deep) {
              if (children.length) {
                for (i = 0, l = children.length; i < l; i++) {
                  process(children[i]);
                }
  
                if (hasContentEditableState) {
                  contentEditable = lastContentEditable; // Restore last contentEditable state from stack
                }
              }
            }
          }
docs: Merges the styles for each node