void shutdownSpi() {
    server.stop();
    try {
      UnicastRemoteObject.unexportObject(this.debugger, true);
    } catch (Exception e) {
    }

    RmiDebuggedEnvironmentImpl.cleanup();
  }
 RmiDebuggerService() {
   try {
     debugger = new RmiDebuggerImpl(this);
     server = new DebuggerServer((Serializable) RemoteObject.toStub(debugger));
     server.start();
   } catch (RemoteException e) {
     e.printStackTrace();
     throw new UndeclaredThrowableException(e);
   }
 }