__useBookmark = true;
	protected void prepareParameters( ) throws ReportServiceException,			RemoteException	{		__bean = context.getBean( );		__docName = __getReportDocument( );		__checkDocumentExists( );		// Get total page count.		InputOptions getPageCountOptions = new InputOptions( );		getPageCountOptions.setOption( InputOptions.OPT_LOCALE, __bean				.getLocale( ) );		getPageCountOptions.setOption( InputOptions.OPT_RTL, new Boolean(				__bean.isRtl( ) ) );		getPageCountOptions.setOption( InputOptions.OPT_REQUEST, context				.getRequest( ) );		OutputOptions outputOptions = new OutputOptions( );		InputOptions options = new InputOptions( );		__totalPageNumber = getReportService( ).getPageCount( __docName,				getPageCountOptions, outputOptions );		Boolean isCompleted = (Boolean) outputOptions				.getOption( OutputOptions.OPT_REPORT_GENERATION_COMPLETED );		if ( isCompleted != null )		{			__isCompleted = isCompleted.booleanValue( );		}		__pageNumber = getPageNumber( context.getRequest( ), operation				.getOprand( ), __docName );				// No valid page number check bookmark from soap message.		if ( !isValidPageNumber( context.getRequest( ), __pageNumber, __docName ) )		{			__bookmark = getBookmark( operation.getOprand( ), __bean );			options.setOption( InputOptions.OPT_REQUEST, context.getRequest( ) );			__pageNumber = getReportService( ).getPageNumberByBookmark(					__docName, __bookmark, options );			if ( !isValidPageNumber( context.getRequest( ), __pageNumber,					__docName ) )			{				__bookmark = ( getReportService( ) ).findTocByName( __docName,						__bookmark, options );				__pageNumber = getReportService( ).getPageNumberByBookmark(						__docName, __bookmark, options );				if ( !isValidPageNumber( context.getRequest( ), __pageNumber,						__docName ) )				{					AxisFault fault = new AxisFault( );					fault							.setFaultReason( BirtResources									.getFormattedString(											ResourceConstants.ACTION_EXCEPTION_INVALID_BOOKMARK,											new String[]{__bookmark} ) );					throw fault;				}				__useBookmark = true;			}		}		// if ( !isValidPageNumber( context.getRequest( ), __pageNumber,		// __docName ) )		// {		// options.setOption( InputOptions.OPT_REQUEST, context.getRequest( ) );		// __pageNumber = getReportService( ).getPageNumberByBookmark(		// __docName, __bookmark, options );		//		// if ( !isValidPageNumber( context.getRequest( ), __pageNumber,		// __docName ) )		// {		// AxisFault fault = new AxisFault( );		// fault.setFaultReason( BirtResources.getFormattedString(		// ResourceConstants.ACTION_EXCEPTION_INVALID_BOOKMARK,		// new String[]{__bookmark} ) );		// throw fault;		// }		// __useBookmark = true;		// }		// Verify the page number again.		if ( !isValidPageNumber( context.getRequest( ), __pageNumber, __docName ) )		{			AxisFault fault = new AxisFault( );			fault					.setFaultReason( BirtResources							.getString( ResourceConstants.ACTION_EXCEPTION_INVALID_PAGE_NUMBER ) );			throw fault;		}		__svgFlag = getSVGFlag( operation.getOprand( ) );	}