private void addFirstItemOfChainToTopic(string topicName, TransformationAction head)
 {
     if (!topicSubscriptions.ContainsKey(topicName))
     {
         topicSubscriptions.Add(topicName, new HashSet <TransformationAction>());
     }
     topicSubscriptions[topicName].Add(head);
 }
 private void addFirstItemOfChainToTopic(string topicName, TransformationAction head)
 {
     if (!topicSubscriptions.ContainsKey(topicName))
     {
         topicSubscriptions.Add(topicName, new HashSet<TransformationAction>());
     }
     topicSubscriptions[topicName].Add(head);
 }
        private void BuildServiceChain(string topicName, string serviceList)
        {
            string[]             servicesInChain = serviceList.Split(',');
            TransformationAction predecessor     = null;

            foreach (string serviceName in servicesInChain)
            {
                TransformationAction serviceItem = new TransformationAction(serviceName);
                if (serviceName != servicesInChain.First())
                {
                    predecessor.Next = serviceItem;
                }
                else
                {
                    addFirstItemOfChainToTopic(topicName, serviceItem);
                }
                predecessor = serviceItem;
            }
        }
        private void BuildServiceChain(string topicName, string serviceList)
        {
            string[] servicesInChain = serviceList.Split(',');
            TransformationAction predecessor = null;

            foreach (string serviceName in servicesInChain)
            {
                TransformationAction serviceItem = new TransformationAction(serviceName);
                if (serviceName != servicesInChain.First())
                {
                    predecessor.Next = serviceItem;
                }
                else
                {
                    addFirstItemOfChainToTopic(topicName, serviceItem);
                }
                predecessor = serviceItem;
            }
        }