private int CompositeHash(XmlSchemaObject o, int hash) {
ArrayList list = GetDependencies(o, new ArrayList(), new Hashtable());
double tmp = 0;
for (int i = 0; i < list.Count; i++) {
object cachedHash = Hash[list[i]];
if (cachedHash is int) {
tmp += (int)cachedHash/list.Count;
}
}
return (int)tmp;
}