code: protected void wasUnmapped ()
      {
          // clear out our connection reference
          setConnection(null);
  
          // reset the throttle state in case the client reconnects
          _throttle = createIncomingMessageThrottle();
          synchronized (_pendingThrottles) {
              _pendingThrottles.clear();
          }
  
          // if we are being closed after the omgr has shutdown, then just stop here; the whole world
          // is about to come to a screeching halt anyway
          if (_omgr.isRunning()) {
              // clear out our subscriptions: we need to do this on the dobjmgr thread. it is
              // important that we do this *after* we clear out our connection reference. once the
              // connection ref is null, no more subscriptions will be processed (even those that
              // were queued up before the connection went away)
              _omgr.postRunnable(new Runnable() {
                  public void run () {
                      sessionConnectionClosed();
                  }
              });
          }
      }
docs: Called by the connection manager when this client's connection is unmapped. That may be
  because of a connection failure (in which case this call will be followed up by a call to
  <code>connectionFailed</code>) or it may be because of an orderly closing of the
  connection. In either case, the client can deal with its lack of a connection in this
  method. This is invoked by the conmgr thread and should behave accordingly.