private async void LoadCatalogItems(ISearchableCatalogReader catalogReader)
        {
            if (catalogReader == null)
            {
                return;
            }
            
            StartBusiness();

            try
            {
                var result = await catalogReader.SearchAsync(SearchQuery);
                if (result != null)
                {
                    var books = result.OfType<CatalogBookItemModel>();
                    if (!books.Any())
                    {
                        _ignoredCatalogsIds.Add(catalogReader.CatalogId);
                        return;
                    }
                    AddItems(books, catalogReader.CatalogId);
                }
            }
            catch (ReadCatalogException)
            {
                //ShowReadCatalogError();
                // ignore exception. Show message about empty search result instead.
            }
            catch (TaskCanceledException)
            {
                //skip taks cancelled exception
            }
            catch (Exception)
            {
                // ignore exception. Show message about empty search result instead.
            }
            finally
            {
                StopBusiness();
            }
        }