private long HashExtenders(IExtenderProvider[] providers, object instance) {
long hash = 0;
int count = (providers == null ? 0 : providers.Length);
for (int i = 0; i < count; i++) {
if (providers[i].CanExtend(instance))
{
hash += providers[i].GetHashCode();
}
}
return hash;
}
}