async processEventBatch(events, result, fetchData) {
        for (const event of events) {
            const batchResult = await this.processEvent(event);

            // Save last event timestamp
            if (!fetchData.lastEventTimestamp || (event.timestamp && event.timestamp > fetchData.lastEventTimestamp)) {
                fetchData.lastEventTimestamp = event.timestamp; // don't need to keep db in sync; it'll fall back to last completed timestamp anyways
            }

            result.merge(batchResult);
        }
    }
Process a batch of email analytics events.
@param {any[]} events - An array of email analytics events to process.
@param {Object} result - The result object to merge batch processing results into.
@param {FetchData} fetchData - Data related to the current fetch operation.
@returns {Promise<void>}