Adds the given access controls to those associated with the given path or collection of paths. If an access
        control already exists for a user, the access control is replaced.
        :param paths: the paths to add the access controls
        :param access_controls: the access controls to add

def add_or_replace(self, paths: Union[str, Iterable[str]],
                       access_controls: Union[AccessControl, Iterable[AccessControl]]):
        """
        Adds the given access controls to those associated with the given path or collection of paths. If an access
        control already exists for a user, the access control is replaced.
        :param paths: the paths to add the access controls
        :param access_controls: the access controls to add
        """