Bug 117450 Birt will hang when add several drivers through
Description: Add several drivers in the "Edit Data source" dialog, click "Ok" button, BIRT will hang and nothing can do except close BIRT forcibly. According to the developer's said, out of memory problem will occur when doing this operation. But why such operation cosumes so many memory? And the memory of my PC is 512M.
data/org.eclipse.birt.report.data.oda.jdbc.ui/src/org/eclipse/birt/report/data/oda/jdbc/ui/dialogs/JdbcDriverManagerDialog.java
/**
	 * Carry out sort operation against certain jar column
	 * @param columnIndex the column based on which the sort operation would be carried out 
	 * @param asc the sort direction
	 */	
	private void sortJar( final int columnIndex, final boolean asc )
	{
		TableItem[] tableItems = jarViewer.getTable( ).getItems( );
		sort( columnIndex, asc, tableItems );
		String[][] records = mapTableItemsTo2DArray( tableItems );
		jarViewer.getTable( ).removeAll( );
		TableItem tableItem;
		for ( int i = 0; i < tableItems.length; i++ )
		{
			tableItem = new TableItem( jarViewer.getTable( ), SWT.NONE );
			tableItem.setText( records[i] );
		}
	}
	
	/**
	 * Carry out sort operation against certain column
	 * @param columnIndex the column based on which the sort operation would be carried out 
	 * @param asc the sort direction
	 */	
	private void sort( final int columnIndex, final boolean asc,
			TableItem[] items )
	{
		TableItem[] tableItems = items;
		Arrays.sort( tableItems, new Comparator( ) {
			public int compare( Object o1, Object o2 )