private ArrayList GetDependencies(XmlSchemaObject o, ArrayList deps, Hashtable refs) {
if (refs[o] == null) {
refs[o] = o;
deps.Add(o);
ArrayList list = Graph[o] as ArrayList;
if (list != null) {
for (int i = 0; i < list.Count; i++) {
GetDependencies((XmlSchemaObject)list[i], deps, refs);
}
}
}
return deps;
}