docs: def _run_check(self, check_method, ds, max_level):
          """
          Runs a check and appends a result to the values list.
          @param bound method check_method: a given check method
          @param netCDF4 dataset ds
          @param int max_level: check level
          @return list: list of Result objects
          """
          val = check_method(ds)
          if isinstance(val, list):
              check_val = []
              for v in val:
                  res = fix_return_value(v, check_method.__func__.__name__,
                                         check_method, check_method.__self__)
                  if max_level is None or res.weight > max_level:
                      check_val.append(res)
  
              return check_val
          else:
              check_val = fix_return_value(val, check_method.__func__.__name__,
                                           check_method, check_method.__self__)
              if max_level is None or check_val.weight > max_level:
                  return [check_val]
              else:
                  return []