docs: def load(self, source, mode='create', source_format='csv', csv_options=None,
             ignore_unknown_values=False, max_bad_records=0):
      """ Load the table from GCS.
  
      Args:
        source: the URL of the source objects(s). Can include a wildcard '*' at the end of the item
           name. Can be a single source or a list.
        mode: one of 'create', 'append', or 'overwrite'. 'append' or 'overwrite' will fail if the
            table does not already exist, while 'create' will fail if it does. The default is
            'create'. If 'create' the schema will be inferred if necessary.
        source_format: the format of the data, 'csv' or 'json'; default 'csv'.
        csv_options: if source format is 'csv', additional options as a CSVOptions object.
        ignore_unknown_values: if True, accept rows that contain values that do not match the schema;
            the unknown values are ignored (default False).
        max_bad_records: the maximum number of bad records that are allowed (and ignored) before
            returning an 'invalid' error in the Job result (default 0).
  
      Returns:
        A Job object for the completed load Job if it was started successfully; else None.
      """
      job = self.load_async(source,
                            mode=mode,
                            source_format=source_format,
                            csv_options=csv_options,
                            ignore_unknown_values=ignore_unknown_values,
                            max_bad_records=max_bad_records)
      if job is not None:
        job.wait()
      return job