dataType );
dataType, (OdaDataSetHandle) dataSetParam .getElementHandle( ) );
	public void updateLinkedReportParameter( ScalarParameterHandle reportParam,			OdaDataSetParameterHandle dataSetParam, DataSetDesign dataSetDesign )			throws SemanticException	{		if ( reportParam == null || dataSetParam == null )			return;		ParameterDefinition matchedParam = null;		String dataType = null;		OdaDataSetHandle setHandle = (OdaDataSetHandle) dataSetParam				.getElementHandle( );		if ( dataSetDesign != null )		{			matchedParam = getValidParameterDefinition( dataSetParam,					dataSetDesign.getParameters( ) );			dataType = DataSetParameterAdapter.getROMDataType( dataSetDesign					.getOdaExtensionDataSourceId( ), dataSetDesign					.getOdaExtensionDataSetId( ),					(OdaDataSetParameter) dataSetParam.getStructure( ),					setHandle == null ? null : setHandle.parametersIterator( ) );		}		CommandStack cmdStack = reportParam.getModuleHandle( )				.getCommandStack( );		cmdStack.startTrans( null );		try		{			if ( matchedParam != null )				updateLinkedReportParameter( reportParam, matchedParam, null,						dataType );			updateLinkedReportParameterFromROMParameter( reportParam,					dataSetParam );		}		catch ( SemanticException e )		{			cmdStack.rollback( );			throw e;		}		cmdStack.commit( );	}