.getDynamicValueChoices( ), reportParam );
.getDynamicValueChoices( ), reportParam, setHandle );
	private void updateInputElementAttrsToReportParam(			InputElementAttributes elementAttrs,			InputElementAttributes cachedElementAttrs,			ScalarParameterHandle reportParam ) throws SemanticException	{		if ( elementAttrs == null )			return;		// update default values.		String defaultValue = elementAttrs.getDefaultScalarValue( );		String cachedDefaultValue = cachedElementAttrs == null				? null				: cachedElementAttrs.getDefaultScalarValue( );		if ( cachedDefaultValue == null				|| !cachedDefaultValue.equals( defaultValue ) )		{			// only update when the value is not internal value.			if ( !DataSetParameterAdapter.BIRT_JS_EXPR.equals( defaultValue ) )				reportParam.setDefaultValue( defaultValue );		}		// update isOptional value		Boolean isOptional = Boolean.valueOf( elementAttrs.isOptional( ) );		Boolean cachedIsOptional = cachedElementAttrs == null ? null : Boolean				.valueOf( cachedElementAttrs.isOptional( ) );		if ( cachedIsOptional == null || !cachedIsOptional.equals( isOptional ) )			reportParam.setAllowBlank( isOptional.booleanValue( ) );		// update conceal value		Boolean masksValue = Boolean.valueOf( elementAttrs.isMasksValue( ) );		Boolean cachedMasksValues = cachedElementAttrs == null ? null : Boolean				.valueOf( cachedElementAttrs.isMasksValue( ) );		if ( cachedMasksValues == null				|| !cachedMasksValues.equals( masksValue ) )			reportParam.setConcealValue( masksValue.booleanValue( ) );		updateROMSelectionList( elementAttrs.getStaticValueChoices( ),				cachedElementAttrs == null ? null : cachedElementAttrs						.getStaticValueChoices( ), reportParam );		updateROMDyanmicList( elementAttrs.getDynamicValueChoices( ),				cachedElementAttrs == null ? null : cachedElementAttrs						.getDynamicValueChoices( ), reportParam );		InputElementUIHints uiHints = elementAttrs.getUiHints( );		if ( uiHints != null )		{			InputElementUIHints cachedUiHints = cachedElementAttrs == null					? null					: cachedElementAttrs.getUiHints( );			InputPromptControlStyle style = uiHints.getPromptStyle( );			InputPromptControlStyle cachedStyle = cachedUiHints == null					? null					: cachedUiHints.getPromptStyle( );			if ( cachedStyle == null					|| ( style != null && cachedStyle.getValue( ) != style							.getValue( ) ) )				reportParam.setControlType( style == null						? null						: newROMControlType( style.getValue( ) ) );		}	}