/// <summary>
        /// Load the data or creates a new file to save the library
        /// </summary>
        protected virtual async Task GetLibraryFileAsync(FileOperation operation)
        {
            //put the defualts in to make browsing eaiser
            string fileName  = GetLibraryFilename(operation);
            bool   overwrite = operation == FileOperation.New;

            if (fileName != null)
            {
                matches.ClearPersistentMatches();
                await GetLibrayDataAsync(fileName, overwrite);
            }
        }