public synchronized void reset() {
    try {
      // wait till readers get their results
      if (isDone()) mySema.acquire();
    }
    catch (InterruptedException ignore) {
      return;
    }
    myValue = null;
  }
public synchronized void reset()