public synchronized void post(Utterance utterance){
  if (closed) {
    throw new IllegalStateException("output queue closed");
  }
  while (list.size() >= size) {
    try {
      wait();
    }
 catch (    InterruptedException ie) {
    }
  }
  list.add(utterance);
  notify();
}

public synchronized void post ( Utterance utterance ) { if ( closed ) { throw new IllegalStateException ( "output queue closed" ) ; } while ( list . size ( ) >= size ) { try { wait ( ) ; } catch ( InterruptedException ie ) { } } list . add ( utterance ) ; notify ( ) ; }
posts the given utterance to the queue . this call will block if the queue is full .
