Make sure you always use a condition using this idom

    lock
    try{
        while(!desiredCondition) condition.await()
    }finally{
       lock.release
    }

You need to deal with spurious wakeups. And even if Hazelcast would be protected against that, the unit test code should be documentation for the end user how to use conditions correctly.