code: public void removeSubscriber (Subscriber<?> sub)
      {
          if (ListUtil.clearRef(_subs, sub) != null) {
              // if we removed something, check to see if we just removed the last subscriber from
              // our list; we also want to be sure that we're still active otherwise there's no need
              // to notify our objmgr because we don't have one
              if (--_scount == 0 && _omgr != null) {
                  _omgr.removedLastSubscriber(this, _deathWish);
              }
          }
      }
docs: Don't call this function! Go through the distributed object manager instead to ensure that
  everything is done on the proper thread.  This function can only safely be called directly
  when you know you are operating on the omgr thread (you are in the middle of a call to
  <code>objectAvailable</code> or to a listener callback).
  
  @see DObjectManager#unsubscribeFromObject