public override async Task PublishedAsync(PublishContentContext context)
        {
            // TODO: ignore if this index is not configured for the content type

            var buildIndexContext = new BuildIndexContext(new DocumentIndex(context.ContentItem.ContentItemId), context.ContentItem, new string[] { context.ContentItem.ContentType });
            // Lazy resolution to prevent cyclic dependency
            var contentItemIndexHandlers = _serviceProvider.GetServices <IContentItemIndexHandler>();
            await contentItemIndexHandlers.InvokeAsync(x => x.BuildIndexAsync(buildIndexContext), _logger);

            var indexes = await _elasticIndexManager.ListIndexesAsync();

            foreach (var index in indexes)// .List())
            {
                await _elasticIndexManager.DeleteDocumentsAsync(index.Key, new string[] { context.ContentItem.ContentItemId });

                await _elasticIndexManager.StoreDocumentsAsync(index.Key, new DocumentIndex[] { buildIndexContext.DocumentIndex });
            }
        }