for ( int i = 0; i < shiftCellInfo.size( ); i++ ) { ShiftNexRowInfo shiftInfo = (ShiftNexRowInfo) shiftCellInfo.get( i ); CellHandleAdapter cellAdapt = HandleAdapterFactory.getInstance( ) .getCellHandleAdapter( shiftInfo.cell ); cellAdapt.setRowSpan( cellAdapt.getRowSpan( ) - 1 ); SlotHandle slotHandle = row.getCells( ); slotHandle.move( (DesignElementHandle) shiftInfo.cell, nextRow, TableRow.CONTENT_SLOT, shiftInfo.index ); }  row.drop( );
	public void deleteRow( int rowsNumber ) throws SemanticException	{		transStar( TRANS_LABEL_DELETE_ROW );		int rowCount = getRowCount( );		RowHandle row = (RowHandle) getRow( rowsNumber );		RowHandleAdapter rowAdapt = HandleAdapterFactory.getInstance( )				.getRowHandleAdapter( row );		List temp = new ArrayList( );		RowHandle nextRow = null;		List shiftCellInfo = new ArrayList( );		if ( rowsNumber + 1 <= rowCount )		{			List trueChildren = rowAdapt.getChildren( );			int cellSize = trueChildren.size( );			nextRow = (RowHandle) getRow( rowsNumber + 1 );			TableHandleAdapter.RowUIInfomation nextRowInfo = getRowInfo( nextRow );			List nextRowChildren = nextRowInfo.getAllChildren( );			for ( int i = 0; i < cellSize; i++ )			{				Object cellHandle = trueChildren.get( i );				CellHandleAdapter adapt = HandleAdapterFactory.getInstance( )						.getCellHandleAdapter( cellHandle );				if ( adapt.getRowSpan( ) != 1 )				{					int numberInfo = 0;					int index = nextRowChildren.indexOf( cellHandle );					for ( int j = 0; j < index; j++ )					{						Object nextRowCell = nextRowChildren.get( j );						CellHandleAdapter nextRowCellAdapt = HandleAdapterFactory.getInstance( )								.getCellHandleAdapter( nextRowCell );						if ( nextRowCellAdapt.getRowNumber( ) == rowsNumber + 1								&& !temp.contains( nextRowCell ) )						{							numberInfo = numberInfo + 1;						}						temp.add( nextRowCell );					}					numberInfo = numberInfo + shiftCellInfo.size( );					shiftCellInfo.add( new ShiftNexRowInfo( numberInfo,							cellHandle ) );				}			}		}		TableHandleAdapter.RowUIInfomation info = getRowInfo( row );		List cells = info.getAllChildren( );		temp.clear( );		int cellSize = cells.size( );		for ( int j = 0; j < cellSize; j++ )		{			Object cellHandle = cells.get( j );			CellHandleAdapter adapt = HandleAdapterFactory.getInstance( )					.getCellHandleAdapter( cellHandle );			if ( adapt.getRowNumber( ) != rowsNumber					&& !temp.contains( cellHandle ) )			{				adapt.setRowSpan( adapt.getRowSpan( ) - 1 );				temp.add( cellHandle );			}		}		//row.drop( );		for ( int i = 0; i < shiftCellInfo.size( ); i++ )		{			ShiftNexRowInfo shiftInfo = (ShiftNexRowInfo) shiftCellInfo.get( i );			CellHandleAdapter cellAdapt = HandleAdapterFactory.getInstance( )					.getCellHandleAdapter( shiftInfo.cell );			cellAdapt.setRowSpan( cellAdapt.getRowSpan( ) - 1 );			SlotHandle slotHandle = row.getCells( );			slotHandle.move( (DesignElementHandle) shiftInfo.cell,					nextRow,					TableRow.CONTENT_SLOT,					shiftInfo.index );		}		row.drop( );		transEnd( );		reload( );	}