public Socket accept() throws IOException {
synchronized (initLock) {
    try {
      while (!initDone) {
        initLock.wait();
      }
    }
 catch (    InterruptedException ignore) {
      throw new AssertionError(ignore);
    }
  }
  return serverSocket.accept();
}

public Socket accept ( ) throws IOException { synchronized ( initLock ) { try { while ( ! initDone ) { initLock . wait ( ) ; } } catch ( InterruptedException ignore ) { throw new AssertionError ( ignore ) ; } } return serverSocket . accept ( ) ; }
delays calling accept on the underlying server socket until the remote service is bound in the registry .
