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);
}