private void AddNewValuesToBuffer() { IValueSet decoratedOutputItemValues = ParentOutput.Values; if (decoratedOutputItemValues == null) { throw new Exception("DerivedOutput \"" + Id + "\" did not receive values from Decorated OutputItem \"" + ParentOutput.Id + "\""); } for (int t = 0; t < ParentOutput.TimeSet.Times.Count; t++) { ITime time = ParentOutput.TimeSet.Times[t]; IList elementSetValues = decoratedOutputItemValues.GetElementValuesForTime(t); _buffer.SetOrAddValues(time, elementSetValues); } }