code: @Override
      public void shutdown() {
          try {
              verifyMaintainability();
          } catch (VerificationFailedException ex) {
              throw new RuntimeException("Can not shutdown " + this + "!", ex);
          }
  
          this.shutdownInitiated = true;
          try {
              dataObservable.shutdown();
          } finally {
              try {
                  deactivate();
              } catch (CouldNotPerformException | InterruptedException ex) {
                  ExceptionPrinter.printHistory("Could not shutdown " + this + "!", ex, logger);
              }
          }
      }
docs: This method deactivates the remote and cleans all resources.