Node tBodyNode = tableElement.getLastChild();
HTMLTableCellElement cell;
Node text = tableElement.getFirstChild().cloneNode( true );
for ( int i = 0; i < tBodyNode.getChildNodes().getLength(); i += 2 ) {
cell = (HTMLTableCellElement)htmlDoc.createElement( "TD" );
cell.appendChild( text.cloneNode( true ) );
cell.setId( "insertedColumn" + addCol );
addCol++;
if ( columnIndex <= ( tBodyNode.getChildNodes().item( 0 ).getChildNodes().getLength() ) / 2 ) {
tBodyNode.getChildNodes().item( i ).insertBefore( text, tBodyNode.getChildNodes().item( i ).getChildNodes().item( 2 * columnIndex - 1 ) );
tBodyNode.getChildNodes().item( i ).insertBefore( cell, tBodyNode.getChildNodes().item( i ).getChildNodes().item( 2 * columnIndex - 1 ) );