Wait for the specified token to be signaled, and release the token. The behavior is undefined unless token was obtained from a call to enter by this thread, and was not subsequently released (via a call to timedWait or wait).