def check_change_filters(self, execution_event: ExecutionBaseEvent):
        """Check if the trigger should run considering the configuration of change_filters.

        Sets appropriate fields related to filtered object data on the execution_event in
        order for them to be accessible downstream in playbooks."""

        if not isinstance(execution_event, KubernetesAnyChangeEvent):
            # The whole code below only makes sense for change events.
            return True

        if not self.change_filters:
            execution_event.obj_filtered = execution_event.obj
            execution_event.old_obj_filtered = execution_event.old_obj
            execution_event.filtered_diffs = []
            return True

        result = True
        filtered_diffs = []
        obj_filtered = duplicate_without_fields(execution_event.obj, self.change_filters.ignore)
        old_obj_filtered = duplicate_without_fields(execution_event.old_obj, self.change_filters.ignore)

        if execution_event.operation == K8sOperationType.UPDATE:
            all_diffs = obj_filtered.diff(old_obj_filtered)
            if self.change_filters.include:
                filtered_diffs = list(filter(lambda x: is_matching_diff(x, self.change_filters.include), all_diffs))
            else:
                filtered_diffs = all_diffs
            if len(filtered_diffs) == 0:
                result = False
        execution_event.obj_filtered = obj_filtered
        execution_event.old_obj_filtered = old_obj_filtered
        execution_event.filtered_diffs = filtered_diffs
        return result
Check if the trigger should run considering the configuration of change_filters.

        Sets appropriate fields related to filtered object data on the execution_event in
        order for them to be accessible downstream in playbooks.
src/robusta/integrations/kubernetes/base_triggers.py