@Override
  public synchronized final void waitFor() {
    while (myHolds > 0) {
      try {
        wait();
      }
      catch (InterruptedException ignored) {
      }
    }
  }
@Override
  public synchronized final void waitFor()