We need to prevent insertion of some special HTML characters
        (entity refs and maybe more).  It's hard to prevent the state machine
        from blowing up with them in the data, so we temporarily replacing
        them with a reserved unicode value based on the PAU private space.

def feed(self, data):
        """ We need to prevent insertion of some special HTML characters
        (entity refs and maybe more).  It's hard to prevent the state machine
        from blowing up with them in the data, so we temporarily replacing
        them with a reserved unicode value based on the PAU private space. """
        assert not self.closed
        for mark, special in self.escape_map:
            assert mark not in data
            data = data.replace(special, mark)
        super().feed(data)