I'm willing to revert it to using LINQ & enumerable only if you prefer.  I need this to be recursive because we could have the situation where there is a mixture of changesets from a "subtree owner" remote as well as multiple subtrees,  If we encounter that situation we ought to just take the "subtree owner" remote.