public static IList <ElementInit> FoldElementInitializerList(ReadOnlyCollection <ElementInit> inputExpressionList) { List <ElementInit> list = null; for (int i = 0; i < inputExpressionList.Count; i++) { ElementInit init = ConstantFolding.FoldElementInitializer(inputExpressionList[i]); if (list != null) { list.Add(init); } else if (init != inputExpressionList[i]) { list = new List <ElementInit>(inputExpressionList.Count); for (int j = 0; j < i; j++) { list.Add(inputExpressionList[j]); } list.Add(init); } } if (list != null) { return(list); } return(inputExpressionList); }