Which means that we will throw an exception if beforeCompletion hasn't been called when in fact we should be calling it in the event no interposed synchronization is being used.