if( sm_logger.isLoggable( Level.FINER ) )
if( sm_logger.isLoggingEnterExitLevel() )
	private void updateWithParameterHints( List parameterMetaData, 									   	   List parameterHints )		throws DataException	{		String methodName = "updateWithParameterHints";		if( sm_logger.isLoggable( Level.FINER ) )			sm_logger.entering( sm_className, methodName, 								new Object[] { parameterMetaData, parameterHints } );				assert( parameterHints != null );				int numOfRuntimeParameters = parameterMetaData.size();		ListIterator iter = parameterHints.listIterator();		while( iter.hasNext() )		{			ParameterHint paramHint = (ParameterHint) iter.next();			String paramHintName = paramHint.getName();			// try to get the parameter index from the runtime first.  if that fails, 			// then use the position in the hint itself.			int position = 0;			if( paramHint.isInputMode() )				position = 					getRuntimeParameterIndexFromName( paramHintName, true /* forInput */ );						if( position <= 0 || position > numOfRuntimeParameters )			{				if( paramHint.isOutputMode() )					position = getRuntimeParameterIndexFromName( paramHintName, false /* forInput */ );				if( position <= 0 || position > numOfRuntimeParameters )				{					// couldn't find the index for the param name					position = paramHint.getPosition();					if( position <= 0 || position > numOfRuntimeParameters )						continue;	// can't match to runtime parameter id				}			}						ParameterMetaData paramMd = 				(ParameterMetaData) parameterMetaData.get( position - 1 );			paramMd.updateWith( paramHint );		}				sm_logger.exiting( sm_className, methodName );	}