I have not until now tried to use a foreach clause in a generic list. The compile error I get is:
foreach statement cannot operate on variables of type 'DMS.OrderNodeList' because 'DMS.OrderNodeList' does not contain a public definition for 'GetEnumerator'
http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/ec725b6d-a7ec-4135-98bf-205c0a6f12fa
https://www.experts-exchange.com/questions/23994665/Error-Message-does-not-contain-a-public-definition-for-GetEnumerator.html
https://www.experts-exchange.com/questions/23139782/List-MyClass-Reverse-foreach-statement-cannot-operate-on-variables-of-type-'void'-because-'void'-does-not-contain-a-public-definition-for-'GetEnumerator'.html