code: public void unproxyRemoteObject (DObjectAddress addr)
      {
          Tuple<Subscriber<?>, DObject> bits = _proxies.remove(addr);
          if (bits == null) {
              log.warning("Requested to clear unknown proxy", "addr", addr);
              return;
          }
  
          // If it's local, just remove the subscriber we added and bail
          if (Objects.equal(addr.nodeName, _nodeName)) {
              bits.right.removeSubscriber(bits.left);
              return;
          }
  
  
          // clear out the local object manager's proxy mapping
          _omgr.clearProxyObject(addr.oid, bits.right);
  
          final Client peer = getPeerClient(addr.nodeName);
          if (peer == null) {
              log.warning("Unable to unsubscribe from proxy, missing peer", "addr", addr);
              return;
          }
  
          // restore the object's omgr reference to our ClientDObjectMgr and its oid back to the
          // remote oid so that it can properly finish the unsubscription process
          bits.right.setOid(addr.oid);
          bits.right.setManager(peer.getDObjectManager());
  
          // finally unsubscribe from the object on our peer
          peer.getDObjectManager().unsubscribeFromObject(addr.oid, bits.left);
      }
docs: Unsubscribes from and clears a proxied object. The caller must be sure that there are no
  remaining subscribers to the object on this local server.