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