It looks like a good implementation to me, but it looks kind of implementation specific (you are referring to this.InnerList). If you created an extension method (that's supported in 2.0 is it not?) that extends IEnumerable, you would be able to use it on any enumerable collection, would you not?