The answer lies in java.lang.Object.wait(long) whose documentation says:
[…] This method causes the current thread (call it T) to place itself in the wait set for this object and then to relinquish any and all synchronization claims on this object. […]