public CatalogElementContainer GetEPiElements(List <StructureEntity> structureEntities)
        {
            _epiElementContainer = new CatalogElementContainer();

            var totalLoaded = 0;
            var batchSize   = _config.BatchSize;

            do
            {
                var batch = structureEntities.Skip(totalLoaded).Take(batchSize).ToList();

                AddNodeElements(batch);
                AddEntryElements(batch);
                AddRelationElements(structureEntities);

                totalLoaded += batch.Count;

                IntegrationLogger.Write(LogLevel.Debug, $"Fetched {totalLoaded} of {structureEntities.Count} total");
            }while (structureEntities.Count > totalLoaded);

            return(_epiElementContainer);
        }
        public XDocument CreateImportDocument(Entity channelEntity, XElement metaClasses, XElement associationTypes, CatalogElementContainer epiElements)
        {
            var catalogElement = _catalogElementFactory.CreateCatalogElement(channelEntity);

            var baseElements = CreateBaseCatalogDocumentNodes(channelEntity, epiElements.Nodes, epiElements.Entries, epiElements.Relations, epiElements.Associations);

            catalogElement.Add(baseElements);

            return(CreateDocument(catalogElement, metaClasses, associationTypes));
        }