if ( handle instanceof DataItemHandle )
} else if ( handle instanceof TextDataHandle ) { DynamicTextScriptExecutor.handleOnPrepare( ( TextDataHandle ) handle, executionContext ); } else   try { executionContext.newScope( handle ); executionContext.execute( handle.getOnPrepare( ) ); } finally { executionContext.exitScope( ); } } finally
	private void handleOnPrepare( ReportItemHandle handle )	{		boolean hasJavaScript = ( handle.getOnPrepare( ) != null )				&& ( handle.getOnPrepare( ).length( ) != 0 );		boolean hasJavaCode = ( handle.getEventHandlerClass( ) != null )				&& ( handle.getEventHandlerClass( ).length( ) != 0 );		if ( !hasJavaScript && !hasJavaCode )			return;		if ( handle instanceof DataItemHandle )		{			DataItemScriptExecutor.handleOnPrepare( ( DataItemHandle ) handle,					executionContext );		} else if ( handle instanceof GridHandle )		{			GridScriptExecutor.handleOnPrepare( ( GridHandle ) handle,					executionContext );		} else if ( handle instanceof ImageHandle )		{			ImageScriptExecutor.handleOnPrepare( ( ImageHandle ) handle,					executionContext );		} else if ( handle instanceof LabelHandle )		{			LabelScriptExecutor.handleOnPrepare( ( LabelHandle ) handle,					executionContext );		} else if ( handle instanceof ListHandle )		{			ListScriptExecutor.handleOnPrepare( ( ListHandle ) handle,					executionContext );		} else if ( handle instanceof TableHandle )		{			TableScriptExecutor.handleOnPrepare( ( TableHandle ) handle,					executionContext );		} else if ( handle instanceof TextItemHandle )		{			TextItemScriptExecutor.handleOnPrepare( ( TextItemHandle ) handle,					executionContext );		} else if ( handle instanceof TextDataHandle )		{			DynamicTextScriptExecutor.handleOnPrepare( ( TextDataHandle ) handle,					executionContext );		} else			// if there's no ScriptExecutor available, execute javascript			// only			try			{				executionContext.newScope( handle );				executionContext.execute( handle.getOnPrepare( ) );			} finally			{				executionContext.exitScope( );			}	}