public Day24Chain(Day24Chain chainToCloneAndExtend, Tuple <int, int> additionalComponent) : this()
            {
                chainToCloneAndExtend.Components.ToList().ForEach(c => Components.Add(c));
                ChainValues.AddRange(chainToCloneAndExtend.ChainValues);
                var currentEnd = ChainValues.Last();
                var newEnd     = additionalComponent.Item1 == currentEnd ? additionalComponent.Item2 : additionalComponent.Item1;

                ChainValues.Add(newEnd);
                Components.Add(additionalComponent);
            }
 public Day24Chain(Tuple <int, int> initialComponent) : this()
 {
     Components.Add(initialComponent);
     ChainValues.Add(0);
     ChainValues.Add(initialComponent.Item1 == 0 ? initialComponent.Item2 : initialComponent.Item1);
 }