protected void doRenderReportlet( long offset ) throws OutOfMemoryError
protected void doRenderReportlet( long offset ) throws EngineException
	protected void doRenderReportlet( long offset ) throws OutOfMemoryError	{		try		{			if (offset != -1)			{				// start the render								IContentEmitter emitter = createContentEmitter( );				ReportDesignHandle reportDesign = executionContext.getDesign( );				String format = executionContext.getOutputFormat( );				if ( "pdf".equalsIgnoreCase( format ) ) //$NON-NLS-1$				{					IReportExecutor executor = new ReportletReader(							executionContext, offset );					executor = new LocalizedReportExecutor( executionContext,							executor );					executionContext.setExecutor( executor );					initializeContentEmitter( emitter, executor );					IReportLayoutEngine layoutEngine = LayoutEngineFactory							.createLayoutEngine( format );					OnPageBreakLayoutPageHandle handle = new OnPageBreakLayoutPageHandle( executionContext );					layoutEngine.setPageHandler( handle );					startRender( );					layoutEngine.layout( executor, emitter, false );					closeRender( );					executor.close( );				}				else				{					ReportContentLoader loader = new ReportContentLoader(							executionContext );					IReportExecutor executor = new ReportExecutor(							executionContext, reportDesign, null );					executor = new LocalizedReportExecutor( executionContext,							executor );					executionContext.setExecutor( executor );					initializeContentEmitter( emitter, executor );					startRender( );					loader.loadReportlet( offset, emitter );					closeRender( );					executor.close( );				}			}		}		catch ( Exception ex )		{			log.log( Level.SEVERE,					"An error happened while running the report. Cause:", ex ); //$NON-NLS-1$		}		catch ( OutOfMemoryError err )		{			log.log( Level.SEVERE,					"An OutOfMemory error happened while running the report." ); //$NON-NLS-1$			throw err;		}	}	