docs: def items(self):
          """Returns a generator of available ICachableItem in the ICachableSource
          """
          for dictreader in self._csv_dictreader_list:
              for entry in dictreader:
                  item = self.factory()
                  item.key = self.key()
                  item.attributes = entry
                  try:
                      item.validate()
                  except Exception as e:
                      logger.debug("skipping entry due to item validation exception: %s", str(e))
                      continue
                  logger.debug("found validated item in CSV source, key: %s", str(item.attributes[self.key()]))
                  yield item