Merge() public method

public Merge ( RunDescriptor descriptorToAdd ) : void
descriptorToAdd RunDescriptor
return void
        public RunDescriptorsBuilder For(params RunDescriptor[] descriptorsToAdd)
        {
            var toAdd = descriptorsToAdd.Where(r => r != null).ToList();

            if (!toAdd.Any())
            {
                emptyPermutationFound = true;
            }

            if (!descriptors.Any())
            {
                descriptors = toAdd;
                return(this);
            }


            var result = new List <RunDescriptor>();

            foreach (var existingDescriptor in descriptors)
            {
                foreach (var descriptorToAdd in toAdd)
                {
                    var nd = new RunDescriptor(existingDescriptor);
                    nd.Merge(descriptorToAdd);
                    result.Add(nd);
                }
            }


            descriptors = result;

            return(this);
        }