code: function createNewBlock(name) {
  				var node = container, block, clonedNode, caretNode;
  
  				block = name || parentBlockName == "TABLE" ? dom.create(name || newBlockName) : parentBlock.cloneNode(false);
  				caretNode = block;
  
  				// Clone any parent styles
  				if (settings.keep_styles !== false) {
  					do {
  						if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(node.nodeName)) {
  							// Never clone a caret containers
  							if (node.id == '_mce_caret') {
  								continue;
  							}
  
  							clonedNode = node.cloneNode(false);
  							dom.setAttrib(clonedNode, 'id', ''); // Remove ID since it needs to be document unique
  
  							if (block.hasChildNodes()) {
  								clonedNode.appendChild(block.firstChild);
  								block.appendChild(clonedNode);
  							} else {
  								caretNode = clonedNode;
  								block.appendChild(clonedNode);
  							}
  						}
  					} while (node = node.parentNode);
  				}
  
  				// BR is needed in empty blocks on non IE browsers
  				if (!tinymce.isIE) {
  					caretNode.innerHTML = '<br data-mce-bogus="1">';
  				}
  
  				return block;
  			}
docs: Creates a new block element by cloning the current one or creating a new one if the name is specified This function will also copy any text formatting from the parent block and add it to the new one