public void UpdateFormulasAfterCellShift(FormulaShifter shifter, int externSheetIndex) { for (int i = 0; i < _cfHeaders.Count; i++) { CFRecordsAggregate subAgg = (CFRecordsAggregate)_cfHeaders[i]; bool shouldKeep = subAgg.UpdateFormulasAfterCellShift(shifter, externSheetIndex); if (!shouldKeep) { _cfHeaders.RemoveAt(i); i--; } } }