private void Append(SumAggregator aggregator, bool invert) { if (invert) { _value -= aggregator._value; } else { _value += aggregator._value; } IEnumerable <Addent> addents = aggregator._addents; if (invert) { addents = addents.Select(a => a.Negate()); } _addents = _addents.AddRange(addents); }