code: public synchronized void shutdown() throws IllegalStateException
      {
          if (agiServer == null)
          {
              throw new IllegalStateException("Mandatory property agiServer is not set.");
          }
  
          agiServer.shutdown();
  
          if (thread != null)
          {
              try
              {
                  thread.join();
              }
              catch (InterruptedException e)
              {
                  logger.warn("Interrupted while waiting for AgiServer to shutdown.");
                  Thread.currentThread().interrupt();
              }
              thread = null; // NOPMD by srt on 7/5/06 11:23 PM
          }
      }
docs: Stops the {@link AgiServer}.
  <p>
  The AgiServer must have been started by calling {@link #startup()} before
  you can stop it.
  
  @see AgiServer#shutdown()
  @throws IllegalStateException if the mandatory property agiServer has not
  been set or the AgiServer had already been shut down.