__call__(self, succ, context=None, location=None):
        # determine the annotation to modify
        if self.updateann is not None:
            if isinstance(self.updateann, Annotation):
                updateann = self.updateann
            else:
                updateann = self.updateann(succ, context=context, location=location)
        else:
            match = _get_match(
                succ, self.name, self.resultidx, self.matchidx, self.silent_fail
            )
            if not match:
         