Pushes completion to this and b unless both done. Caller should first check that either result or b.result is null.
See Implementation
Pushes completion to this and b unless both done. Caller should first check that either result or b.result is null.