does this really need to be timed wait? is there a case when the condition never gets broadcasted?