public Task <List <BookRecDTO> > FetchBookDataAsync(string resourceName, bool useSampleData, CancellationToken cancellationToken) { // Use the default value if no value was provided and // remove the .xml extension if included. resourceName = NormalizeResourceName(resourceName); // Open the XML Data Stream for reading. Stream stream = GetXmlDataStream(resourceName, useSampleData); // Create an asynchronous task that will... // parse the XML data file into a list of BookRecDTO objects. CatalogReader catReader = new CatalogReader(); Task <List <BookRecDTO> > result = catReader.FetchBookDataAsync(stream, cancellationToken); return(result); }