withSnapshot(snapshot) {
        return new AppendBlobClient(setURLParameter(this.url, URLConstants.Parameters.SNAPSHOT, snapshot.length === 0 ? undefined : snapshot), this.pipeline);
    }
Creates a new AppendBlobClient object identical to the source but with the
specified snapshot timestamp.
Provide "" will remove the snapshot and return a Client to the base blob.

@param snapshot - The snapshot timestamp.
@returns A new AppendBlobClient object identical to the source but with the specified snapshot timestamp.