final AtomicBoolean reached) {
/*
* The executing thread stops at a defined position while holding the
* semaphore inside the storageImpl
*/
return new Visitor() {
public void execute(Object[] o) {
synchronized (monitor) {
try {
reached.set(true);
monitor.wait();