private async Task LoadCatalog()
        {
            if ((State?.Catalog != null) && (State.Catalog.Metadatas.Count > 0))
            {
                return;
            }

            Catalog catalog = await CatalogReader.Read(
                State.AppConfig.CatalogPath);

            catalog.Metadatas = catalog.Metadatas
                                .OrderByDescending(m => m.ModifiedDate).ToList();

            State.UpdateCatalog(this, catalog);
        }