text: public override object Add(object prefix, object output){Debug.Assert(!(prefix is IList));if (!(output is IList)){return outputs.Add((T)prefix, (T)output);}else{IList outputList = (IList)output;IList<T> addedList = new JCG.List<T>(outputList.Count);foreach (object _output in outputList){addedList.Add(outputs.Add((T)prefix, (T)_output));}return addedList;}}