private void waitOnSetupToComplete() {
      // avoid blocking on this ptr, which would stop the
      // notifySetupCompleted method from working correctly
      try {
        initializedSemaphore.acquire();
      } catch (InterruptedException xcpt) {
        initializationError = new IllegalStateException("Unable to initialize Cyc communication.");
        System.err.println("Interrupted during wait(): " + xcpt);
      }
      if (initializationError != null) {
        throw new CycApiException("Cannot start communications to Cyc.", initializationError);
      }
    }