Description

Done is called when the item to wait for is done. There should be a one to one correspondance between Add and Done. When the count drops to zero, any callers blocked in Wait() are woken. If the count drops below zero, it panics.