row.addElement( cell, TableRow.CONTENT_SLOT, pos );
row.addElement( cell, ITableRowModel.CONTENT_SLOT, pos );
	protected void pasteCells( List copiedCells, List originalCells,			int columnIndex, boolean isInsert ) throws SemanticException	{		// get the insertion positions if the column is inserted to the head or		// the end of the table.		int[] insertPosition = getInsertPosition( copiedCells.size( ),				columnIndex, isInsert );		// remove cells first.		for ( int i = 0; !isInsert && i < originalCells.size( ); i++ )		{			CellContextInfo contextInfo = (CellContextInfo) originalCells					.get( i );			CellHandle cell = contextInfo.getCell( ).handle(					adapter.getModule( ) );			if ( !isInsert )				cell.getContainerSlotHandle( ).drop( cell );		}		// adds the copied cells to the destination.		for ( int i = 0; i < copiedCells.size( ); i++ )		{			CellContextInfo contextInfo = (CellContextInfo) copiedCells.get( i );			// groupId is equal to -1, means this is a top slot in the table			RowHandle row = adapter.getRow( contextInfo.getSlotId( ),					contextInfo.getGroupId( ), contextInfo.getRowIndex( ) );			assert row != null;			// get correct insertion position information						int pos;			if ( insertPosition == null )				pos = adapter.findCellPosition( row, columnIndex, isInsert );			else				pos = insertPosition[i];			// to avoid duplicate names in the same name space, rename nested			// elements here.			CellHandle cell = contextInfo.getCell( ).handle(					adapter.getModule( ) );			adapter.getModule( ).getModuleHandle( ).rename( cell );			if ( pos != -1 )				row.addElement( cell, TableRow.CONTENT_SLOT, pos );			else				row.addElement( cell, TableRow.CONTENT_SLOT );		}	}