/// <summary>
 /// Gets the information from the data source for the playlist associated with the specified unique identifier.
 /// </summary>
 /// <param name="contactId">The contact identifier to be found.</param>
 /// <param name="cancellationToken">A token to observe while waiting for the task to complete.</param>
 /// <returns>
 /// A task that represents the asynchronous operation.
 /// </returns>
 public Task <MediaPlaylist> FindDefaultByContactAsync(int contactId, CancellationToken cancellationToken)
 {
     cancellationToken.ThrowIfCancellationRequested();
     return(Playlists.FirstOrDefaultAsync(p => (p.ContactId == contactId) && p.DefaultList, cancellationToken));
 }
 /// <summary>
 /// Gets the information from the data source for the playlist associated with the specified unique identifier.
 /// </summary>
 /// <param name="uri">The URI.</param>
 /// <param name="cancellationToken">A token to observe while waiting for the task to complete.</param>
 /// <returns>
 /// A task that represents the asynchronous operation.
 /// </returns>
 public Task <MediaPlaylist> FindByUriAsync(string uri, CancellationToken cancellationToken)
 {
     cancellationToken.ThrowIfCancellationRequested();
     return(Playlists.FirstOrDefaultAsync(p => p.Uri.ToUpper() == uri.ToUpper(), cancellationToken));
 }