docs: public boolean cleanupDestination()
    throws 
      SIRollbackException, 
      SIConnectionLostException, 
      SIIncorrectCallException, 
      SIResourceException, 
      SIErrorException   
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "cleanupDestination");
    
      boolean cleanedUp = false;
  
      //Ensure any cleanup does not occur at the same time the link is being used.
      synchronized(this)
      {
        if (isToBeDeleted())
        {
          // Tidy up the state item streams first
          LocalTransaction siTran =
            txManager.createLocalTransaction(true);          
          removeStateItemStreams((Transaction) siTran); 
          siTran.commit();
        }
      }
  
      // Now tidy up the rest of the infrastructure    
      cleanedUp = cleanupBaseDestination();
     
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "cleanupDestination", Boolean.valueOf(cleanedUp));
  
      return cleanedUp;
    }