code: def add_or_replace(self, paths: Union[str, Iterable[str]],
                         access_controls: Union[AccessControl, Iterable[AccessControl]], recursive: bool=False):
          
docs: See `AccessControlMapper.add`.
          :param paths: see `AccessControlMapper.add`
          :param access_controls: see `AccessControlMapper.add`
          :param recursive: whether the access control list should be changed recursively for all nested collections