public override bool Equals(object obj)
{
if (obj is PivotsExpression) {
PivotsExpression expr = obj as PivotsExpression;
if (expr.invariant != this.invariant)
return false;
if (this.invariant)
return expr.invariant_result == this.invariant_result;
return matching_combinations.Equals(expr.matching_combinations);
}
return base.Equals(obj);
}