if ann is None:
                    if self.silent_fail:
                        return
                    else:
                        raise Exception(&#34;No matching source annotation found&#34;)
                fromfeats = ann.features
        else:   # get it from self.features
            if callable(self.features):
                fromfeats = self.features(succ, context=context, location=location)
            else:
                fromfeats = self.features
        # make sure we have features and o