code: public void shutdown ()
      {
          if (_self == null) { // never initialized
              return;
          }
  
          // clear out our invocation service
          if (_nodeobj != null) {
              _invmgr.clearDispatcher(_nodeobj.peerService);
          }
  
          // clear out our client observer registration
          _clmgr.removeClientObserver(this);
  
          // clear our record from the node table
          if (!_adHoc) {
              _invoker.postUnit(new WriteOnlyUnit("shutdownNode(" + _nodeName + ")") {
                  @Override
                  public void invokePersist () throws Exception {
                      _noderepo.shutdownNode(_nodeName);
                  }
              });
          }
  
          // shut down the peers
          for (PeerNode peer : _peers.values()) {
              peer.shutdown();
          }
      }
docs: from interface Lifecycle.ShutdownComponent