internal override PivotsExpression ToPivotsExpression(Dictionary<string, Pivots.Pivot> pivotVsPivotValues, GetChoiceDelegate get_choice_fn)
{
var result = new PivotsExpression();
result.relevant_pivots = new HashSet<string>();
result.relevant_pivots.Add(pivot_name);
result.matching_combinations = new ComparableHashSet<ComparableHashSet<string>>();
if (inverted) {
foreach (string pivotValue in pivotVsPivotValues[pivot_name].Choices.Keys) {
if (pivotValue != pivot_choice) {
ComparableHashSet<string> choice = new ComparableHashSet<string>();
choice.Add(pivotValue);
result.matching_combinations.Add(choice);
}
}
}
else {
ComparableHashSet<string> choice = new ComparableHashSet<string>();
choice.Add(pivot_choice);
result.matching_combinations.Add(choice);
}
return result;
}