This class implements a lock that can be held across multiple dependent asynchronous tasks which return a new value for the guarded object or to get the value after any pending updaters have completed @param
source not stored for this graph (policy: none)
nothing calls this directly
no outgoing calls
no test coverage detected