public void Consolidate() { List <int> removalIndices = new List <int>(); for (int i = SteadyStateValues.Count - 1; i >= 0; i--) { for (int j = SteadyStateValues.Count - 1; j >= 0; j--) { if (i != j && SteadyStateValues[i].PiName.Equals(SteadyStateValues[j].PiName) && !removalIndices.Contains(j)) { decimal p = SteadyStateValues[i].Value; removalIndices.Add(i); SteadyStateValues[j].Value += p; } } } removalIndices.ForEach(i => SteadyStateValues.RemoveAt(i)); writeEquationToTex(ToString()); }