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; } }