HandCoded.Meta.SchemaRelease.FindAllImports C# (CSharp) Method

FindAllImports() private method

Recursively build a set of SchemaRelease instances containing this one and any that it imports with the least dependent first.
private FindAllImports ( List releases ) : List
releases List The of matches (so far).
return List
        private List<SchemaRelease> FindAllImports(List<SchemaRelease> releases)
        {
            if (!releases.Contains (this)) {
                // Add this schema to prevent infinte recursion
                releases.Add (this);

                foreach (SchemaRelease import in imports){
                    import.FindAllImports (releases);

                    // But reposition it after any schemas it imports
                    releases.Remove (this);
                    releases.Add (this);
                }
            }
            return (releases);
        }