/**
  * Sets a {@link WaitingCondition } point where runnables invoking waitForOtherThreads on the same
  * {@link WaitingCondition } have to wait for each other before continuing processing.
  *
  * @param wc1 the waitingCondition on which the runnables have to wait.
  */
 public void waitForOtherThreads(WaitingCondition wc1) {
   wc1.waitOn();
 }
 /**
  * Sets a {@link WaitingCondition } point where runnables invoking waitForOtherThreads on the same
  * {@link WaitingCondition } have to wait for each other for at least the amount of time defined
  * by the given timeout before continuing processing.
  *
  * @param waitingCondition the waitingCondition on which the runnables have to wait.
  * @param timeout the timeout.
  * @param timeUnit the timeout unit.
  */
 public void waitForOtherThreads(
     WaitingCondition waitingCondition, long timeout, TimeUnit timeUnit) {
   waitingCondition.waitOn(timeout, timeUnit);
 }