docs: def _flatten_fetched_fields(fields_arg):
      """ this method takes either a kwargs 'fields', which can be a dict :
      {"_id": False, "store": 1, "url": 1} or a list : ["store", "flag", "url"]
      and returns a tuple : ("store", "flag").
      it HAS to be a tuple, so that it is not updated by the different instances
      """
      if fields_arg is None:
          return None
      if isinstance(fields_arg, dict):
          return tuple(sorted([k for k in list(fields_arg.keys()) if fields_arg[k]]))
      else:
          return tuple(sorted(fields_arg))