public BuildClassInfo Merge(BuildClassInfo c)
            {
                Debug.Assert(Class == c.Class);
                Debug.Assert(Assignments.Select(a => a.Parameter).Intersect(c.Assignments.Select(a => a.Parameter)).Any() == false);
                var assignments = Assignments.Concat(c.Assignments).ToList();

                return(new BuildClassInfo(Class, assignments));
            }
 /// <summary>
 /// Not used yet. Planned to support services enumerable and required manual mapping.
 /// </summary>
 /// <param name="c"></param>
 public void Register(BuildClassInfo c)
 {
     if (_infos.TryGetValue(c.Class, out var exists))
     {
         _infos[c.Class] = exists.Merge(c);
     }
     else
     {
         _infos.Add(c.Class, c);
     }
 }