def METHOD_NAME(self):
    while not self.event.is_set():
        trigger_on = False
        try:
            lines = self.connection.readlines()
            if lines:
                trigger_on = True
        except:
            print("Error: Serial port could not be read.")
        if self.stylusplh:
            trigger_on = True
            self.stylusplh = False
        try:
            self.serial_port_queue.put_nowait(trigger_on)
        except queue.Full:
            print("Error: Serial port queue full.")
        time.sleep(self.sleep_nav)
        # XXX: This is needed here because the serial port queue has to be read
        #      at least as fast as it is written into, otherwise it will eventually
        #      become full. Reading is done in another thread, which has the same
        #      sleeping parameter sleep_nav between consecutive runs as this thread.
        #      However, a single run of that thread takes longer to finish than a
        #      single run of this thread, causing that thread to lag behind. Hence,
        #      the additional sleeping here to ensure that this thread lags behind the
        #      other thread and not the other way around. However, it would be nice to
        #      handle the timing dependencies between the threads in a more robust way.
        #
        time.sleep(0.3)
    else:
        self.Disconnect()