synchronized protected boolean _unexport(Remote obj){
  WeakReference<Remote> weakStub=_identityExportObjTable.get(new WeakKey(obj));
  Remote dynamicProxy=weakStub != null ? weakStub.get() : null;
  if (dynamicProxy == null)   return true;
  DynamicSmartStub dynamicSmartStub=TransportProtocolHelper.extractSmartStubFromProxy(dynamicProxy);
  dynamicSmartStub.unexport();
  if (_logger.isLoggable(Level.FINE))   _logger.fine("ObjImpl: [" + dynamicSmartStub.getLocalObjImpl() + "] was unexported.");
  return true;
}

synchronized protected boolean _unexport ( Remote obj ) { WeakReference < Remote > weakStub = _identityExportObjTable . get ( new WeakKey ( obj ) ) ; Remote dynamicProxy = weakStub != null ? weakStub . get ( ) : null ; if ( dynamicProxy == null ) return true ; DynamicSmartStub dynamicSmartStub = TransportProtocolHelper . extractSmartStubFromProxy ( dynamicProxy ) ; dynamicSmartStub . unexport ( ) ; if ( _logger . isLoggable ( Level . FINE ) ) _logger . fine ( "ObjImpl: [" + dynamicSmartStub . getLocalObjImpl ( ) + "] was unexported." ) ; return true ; }
unexport the desired obj from the underlying transport protocol and remove the obj from the manage cache .
