public void CheckLeaks() {
lock(this) {
bool reportedFirstLeak = false;
if (handleCount > 0) {
for (int i = 0; i < BUCKETS; i++) {
HandleEntry e = buckets[i];
while (e != null) {
if (!e.ignorableAsLeak) {
if (!reportedFirstLeak) {
Debug.WriteLine("\r\nHandle leaks detected for handles of type " + name + ":");
reportedFirstLeak = true;
}
Debug.WriteLine(e.ToString(this));
}
e = e.next;
}
}
}
}
}