nl_tokens: 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
pl_tokens: 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 = <mask> . parentNode ) ; } // BR is needed in empty blocks on non IE browsers
   if ( ! tinymce . isIE ) { caretNode . innerHTML = '<br data-mce-bogus="1">' ; } return block ; }