<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_event_records( self, limit: int = None, offset: int = None, filters: List[Tuple[str, Any]] = None, logical_and: bool = True, ) -> List[EventRecord]: """ Return a batch of event records The batch size can be tweaked with the `limit` and `offset` arguments. Additionally the returned events can be optionally filtered with the `filters` parameter to search for specific data in the event data. """

        cursor = self._form_and_execute_json_query(
            query='SELECT identifier, source_statechange_id, data FROM state_events ',
            limit=limit,
            offset=offset,
            filters=filters,
            logical_and=logical_and,
        )

        result = [
            EventRecord(
                event_identifier=row[0],
                state_change_identifier=row[1],
                data=row[2],
            ) for row in cursor
        ]
        return result