! @brief Handle a single trace event.
        
        Passes the event through the filter() method. If one or more objects are returned, they
        are then passed to the trace sink connected to this filter (which may be another filter).
        
        @param self
        @param event An instance of TraceEvent or one of its subclasses.

def receive(self, event):
        """! @brief Handle a single trace event.
        
        Passes the event through the filter() method. If one or more objects are returned, they
        are then passed to the trace sink connected to this filter (which may be another filter).
        
        @param self
        @param event An instance of TraceEvent or one of its subclasses.
        """
        event = self.filter(event)
        if (event is not None) and (self._sink is not None):
            if isinstance(event, collections.Iterable):
                for e in event:
                    self._sink.receive(event)
            else:
                self._sink.receive(event)