public void Start()
        {
            var applicationConfiguration  = configurationSection.GetSection(ApplicationConfigurationSectionName);
            var targetUrlsEntriesAsString = applicationConfiguration.GetValue <string>(TargetUrlsConfigurationSection);
            var targetUrlsEntries         = targetUrlsEntriesAsString.Split(TargetUrlsSplitChar);

            var bindingConfiguration = configurationSection.GetSection(BindingConfigurationSectionName);

            var senderExchange            = bindingConfiguration.GetValue <string>(SenderExchangeConfigurationName);
            var senderRoutingKeysAsString = bindingConfiguration.GetValue <string>(SenderRoutingKeysConfigurationName);

            var senderRoutingKeysAsArray = senderRoutingKeysAsString.Split(routingKeySplitChar);

            List <string> imagesLinks;

            byte[] imageData;
            foreach (var link in targetUrlsEntries)
            {
                imagesLinks = imagesLinksExtractor.Extract(link).Result;

                if (imagesLinks != null)
                {
                    foreach (var imageLink in imagesLinks)
                    {
                        imageData = dataRetriever.RetrieveBytesAsync(imageLink).Result;
                        string imageMessage    = CreateImageMessage(imageData, imageLink);
                        byte[] messageToRabbit = Encoding.UTF8.GetBytes(imageMessage);
                        rmqPublisher.Publish(messageToRabbit, senderExchange, senderRoutingKeysAsArray);
                    }
                }
            }
        }