|| modelColumn.getNativeDataType( ) == null )
	private void mergeHints( DataSetHandle modelDataSet, BaseDataSetDesign dteDataSet )	{		// merge ResultSetHints and ColumnHints, the order is important.		// ResultSetHints will give each column a unique name, and		// column hints should base on the result of ResultSet hint.		// So in ResultSetHint list, the order of items should be		// ResultSetColumn and then ColumnHint.		// now merge model's result set column info into existing columnDefn		// with same column name, otherwise create new columnDefn		// based on the model's result set column		Iterator elmtIter = null;		if ( modelDataSet instanceof OdaDataSetHandle )		{			elmtIter = modelDataSet.resultSetIterator( );			if ( elmtIter != null )			{				while ( elmtIter.hasNext( ) )				{					OdaResultSetColumnHandle modelColumn = (OdaResultSetColumnHandle) elmtIter.next( );					if ( !modelColumn.getColumnName( )							.equals( modelColumn.getNativeName( ) ) )						dteDataSet.addResultSetHint( newColumnDefn( (ResultSetColumnHandle) modelColumn ) );				}			}		}		else		{			elmtIter = modelDataSet.resultSetHintsIterator( );			if ( elmtIter != null )			{				while ( elmtIter.hasNext( ) )				{					ResultSetColumnHandle modelColumn = (ResultSetColumnHandle) elmtIter.next( );					dteDataSet.addResultSetHint( newColumnDefn( modelColumn ) );				}			}		}		// merging result set column and column hints into DtE columnDefn;		// first create new columnDefn based on model's column hints		elmtIter = modelDataSet.columnHintsIterator( );		if ( elmtIter != null )		{			List columnDefns = dteDataSet.getResultSetHints( );			while ( elmtIter.hasNext( ) )			{				ColumnHintHandle modelColumnHint = ( ColumnHintHandle ) elmtIter						.next( );				ColumnDefinition existDefn = findColumnDefn( columnDefns,						modelColumnHint.getColumnName( ) );				if ( existDefn != null )					updateColumnDefn( existDefn, modelColumnHint );				else					dteDataSet							.addResultSetHint( newColumnDefn( modelColumnHint ) );			}		}	}