odiDSQuery.setParameterDefnAndValBindings( getMergedParameters(extDataSet, getQueryScope(), true) );
odiDSQuery.setParameterHints( resolveDataSetParameters( true) );
		protected void populateOdiQuery( ) throws DataException		{			super.populateOdiQuery( );						OdaDataSetRuntime extDataSet = (OdaDataSetRuntime) dataSet;			assert extDataSet != null;						IDataSourceQuery odiDSQuery = (IDataSourceQuery) odiQuery;			assert odiDSQuery != null;						// assign driver properties		    addProperty( odiDSQuery, extDataSet.getPublicProperties() );		    addProperty( odiDSQuery, extDataSet.getPrivateProperties() );		        		// assign parameter hints and result column hints		    odiDSQuery.setParameterDefnAndValBindings( getMergedParameters(extDataSet, getQueryScope(), true) );		  		    if ( extDataSet.getResultSetHints() != null )		    {		    	List source = extDataSet.getResultSetHints(); 		    	int count = source.size();		    	ArrayList hints = new ArrayList( count );		    	for ( int i = 0; i < count; i ++)		    	{		    		IColumnDefinition def = (IColumnDefinition) source.get(i);		    		IDataSourceQuery.ResultFieldHint hint = 		    				new IDataSourceQuery.ResultFieldHint( def.getColumnName());		    		hint.setPosition( def.getColumnPosition());		    		hint.setAlias( def.getAlias());		    		hint.setDataType( def.getDataType());		    		hints.add( hint );		    	}			    odiDSQuery.setResultHints( hints );		    }			    // assign computed columns and projected columns			// declare computed columns as custom fields		    List ccList = extDataSet.getComputedColumns( );			if ( ccList != null )			{				for ( int i = 0; i < ccList.size( ); i++ )				{					IComputedColumn cc = (IComputedColumn) ccList.get( i );					odiDSQuery.declareCustomField( cc.getName( ),							cc.getDataType( ) );				}			}							// specify column projection, if any	        odiDSQuery.setResultProjection( getReportQueryDefn().getColumnProjection() );					}