synchronized `wait`