/// <summary>
 /// Updates this dataset to match the specified resource.
 /// </summary>
 /// <remarks>
 /// This method delegates to <see cref="BigQueryClient.UpdateDataset(DatasetReference, Dataset, UpdateDatasetOptions)"/>.
 /// A simple way of updating the dataset is to modify <see cref="Resource"/> and then call this method with no arguments.
 /// This is convenient, but it's important to understand that modifying <see cref="Resource"/> in this way leaves this object
 /// in an unusual state - it represents "the dataset as it was when fetched, but then modified locally". For example, the etag
 /// will be the original etag, rather than the one associated with the updated dataset. To avoid this causing confusion,
 /// we recommend only taking this approach if the object will not be used afterwards. Use the value returned by this method
 /// as the new, self-consistent representation of the dataset.
 /// </remarks>
 /// <param name="resource">The resource to update with. If null, the <see cref="Resource"/> property is
 /// used.</param>
 /// <param name="options">The options for the operation. May be null, in which case defaults will be supplied.</param>
 /// <returns>The updated dataset.</returns>
 public BigQueryDataset Update(Dataset resource = null, UpdateDatasetOptions options = null) =>
 _client.UpdateDataset(Reference, resource ?? Resource, options);