code: def update_splits_if_different(self, split_dict):
      
      assert isinstance(split_dict, splits_lib.SplitDict)
  
      # If splits are already defined and identical, then we do not update
      if self._splits and splits_lib.check_splits_equals(
          self._splits, split_dict):
        return
  
      self._set_splits(split_dict)
docs: Overwrite the splits if they are different from the current ones.
  
      * If splits aren't already defined or different (ex: different number of
        shards), then the new split dict is used. This will trigger stats
        computation during download_and_prepare.
      * If splits are already defined in DatasetInfo and similar (same names and
        shards): keep the restored split which contains the statistics (restored
        from GCS or file)
  
      Args:
        split_dict: `tfds.core.SplitDict`, the new split