code: protected void unexportObject() { // d623593
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isDebugEnabled())
              Tr.debug(tc, "unexportObject: " + this);
  
          if (ivObjectID != null) {
              // Either the allowed timeout occurred or a method was called and we
              // know that the client no longer needs this server resource.
              try {
                  ivRemoteRuntime.deactivateAsyncResult(ivObjectID);
              } catch (Throwable e) {
                  // We failed to unexport the object.  This should never happen, but
                  // it's not fatal.
                  if (isTraceOn && tc.isDebugEnabled())
                      Tr.debug(tc, "unexportObject exception", e);
                  FFDCFilter.processException(e, CLASS_NAME + ".unexportObject", "237", this);
              }
  
              this.ivObjectID = null;
          }
      }
docs: Unexport this object so that it is not remotely accessible.
  
  <p>The caller must be holding the monitor lock on the
  RemoteAsyncResultReaper prior to calling this method if the async work
  was successfully scheduled.