public Builder()
 {
     m_meta = new AN_SnapshotMetadataChange();
 }
 /// <summary>
 /// Asynchronously commits any modifications in <see cref="AN_SnapshotMetadataChange"/>
 /// made to the <see cref="AN_Snapshot"/> and loads a <see cref="AN_SnapshotMetadata"/>.
 /// The callback returned by this method is complete once the changes are synced locally
 /// and the background sync request for this data has been requested.
 ///
 /// This method fails a task with an exception
 /// when called with a snapshot that was not opened or has already been committed/discarded.
 ///
 /// Note that the total size of the contents of snapshot
 /// may not exceed the size provided <see cref="GetMaxDataSize"/>
 /// </summary>
 /// <param name="snapshot">The snapshot to commit the data for.</param>
 /// <param name="metadataChange">
 /// The set of changes to apply to the metadata for the snapshot.
 /// Use <see cref="AN_SnapshotMetadataChange.EMPTY_CHANGE"/> to preserve the existing metadata.
 /// </param>
 /// <param name="callback">The operation callback.</param>
 public void CommitAndClose(AN_Snapshot snapshot, AN_SnapshotMetadataChange metadataChange, Action <AN_SnapshotMetadataResult> callback)
 {
     AN_GMS_Lib.Snapshots.CommitAndClose(this, snapshot, metadataChange, callback);
 }