super.join();
super.leave();
   public synchronized void leave() throws DistributedException   {      if(!joined)      {         return;      }      super.join(); // do the generic stuff first      // unregister my pipe output      rpcServer.unregister(pipeID);      rpcServer.unregister(queue.getDestinationID(), this);      joined = false;   }