def feed(self, from_date=None, from_offset=None, category=None,
             latest_items=None, arthur_items=None, filter_classified=None):
        if self.fetch_archive:
            items = self.perceval_backend.fetch_from_archive()
            self.feed_items(items)
            return
        elif arthur_items:
            items = arthur_items
            self.feed_items(items)
            return
        if from_date and from_offset:
            raise RuntimeError("Can't not feed using from_date and from_offset.")
        filters_ = [get_repository_filter(self.perceval_backend,
                    self.get_connector_name())]
        signature = inspect.signature(self.perceval_backend.fetch)
        last_update = None
        if 'from_date' in signature.parameters:
            if from_date:
                last_update = from_date
            else:
                self.last_update = self.get_last_update_from_es(filters_=filters_)
                last_update = self.last_update
            logger.info("Incremental from: %s", last_update)
        offset = None
        if 'offset' in signature.parameters:
            if from_offset:
                offset = from_offset
            else:
                offset = self.elastic.get_last_offset("offset", filters_=filters_)
            if offset is not None:
                logger.info("Incremental from: %i offset", offset)
            else:
                logger.info("Not incremental")
        params = {}
        if category is not None:
            params['category'] = category
        if filter_classified is not None:
            params['filter_classified'] = filter_classified
        if latest_items:
            params['latest_items'] = latest_items
            items = self.perceval_backend.fetch(**params)
        elif last_update:
            last_update = last_update.replace(tzinfo=None)
            params['from_date'] = last_update
            items = self.perceval_backend.fetch(**params)
        elif offset is not None:
            params['offset'] = offset
            items = self.perceval_backend.fetch(**params)
        else:
            items = self.perceval_backend.fetch(**params)
        self.feed_items(items)
        self.update_items()