evaluateResult = ( (ResultIterator) outerResults.getResultIterator( ) ).getOdiResult( ) .getExecutorHelper( )
evaluateResult = outerResults.getExecutorHelper( )
		private Object evaluateInputParameterValue( Scriptable scope, Context cx, IInputParameterBinding iParamBind ) throws DataException		{			// Evaluate Expression:			// If the expression has been prepared, 			// use its handle to getValue() from outerResultIterator			// else use Rhino to evaluate in corresponding scope			Object evaluateResult = null;			Scriptable evaluateScope = scope;						if ( outerResults != null )			{				try				{					evaluateScope = outerResults.getQueryScope( );					evaluateResult = ( (ResultIterator) outerResults.getResultIterator( ) ).getOdiResult( )							.getExecutorHelper( )							.evaluate( iParamBind.getExpr( ) );/*					if (iParamBind.getExpr().getHandle() != null)						evaluateResult = outerResults.getResultIterator().getValue(iParamBind.getExpr());*/				}				catch (BirtException e)				{					//do not expect a exception here.					DataException dataEx= new DataException( ResourceConstants.UNEXPECTED_ERROR, e );					logger.logp( Level.FINE,							PreparedOdaDSQuery.class.getName( ),							"getMergedParameters",							"Error occurs in IQueryResults.getResultIterator()",							e );					throw dataEx;				}			}						if (evaluateResult == null)				evaluateResult = ScriptEvalUtil.evalExpr( iParamBind.getExpr( ),						cx,						evaluateScope,						"ParamBinding(" + iParamBind.getName( ) + ")",						0 );									if ( evaluateResult == null)			    throw new DataException(ResourceConstants.DEFAULT_INPUT_PARAMETER_VALUE_CANNOT_BE_NULL);			return evaluateResult;		}