docs: public void removeUnusedNeighbours()
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "removeUnusedNeighbours");
  
      final Enumeration neighbourList = _neighbours.getAllRecoveredNeighbours();
      
      LocalTransaction transaction = null;
      
      try
      {
        _lockManager.lockExclusive();
        
        transaction = _transactionManager.createLocalTransaction(true);
          
        // Enumerate through the Neighbours.
        while (neighbourList.hasMoreElements())
        {
          final Neighbour neighbour = (Neighbour) neighbourList.nextElement();
      
          // If the neigbour is a foreign neighbour and still has a link
          // definition associated with it then we leave it in the recovered
          // state. The link start operation will make the neighbour available.
          // Link deletion will remove the neighbour
         if (_messageProcessor.
                getDestinationManager().
                getLinkDefinition(neighbour.getBusId()) == null)
          {   
            // If the Neighbour was created at startup from the message 
            // store, then this Neighbour can be deleted as it hasn't 
            // been reinstated from Admin.
            // Delete this Neighbour with the forced option 
            // as we don't know the state of this Neighbour.
            _neighbours.removeRecoveredNeighbour(neighbour.getUUID(),
                                                 (Transaction) transaction);
          }
        }
     
        transaction.commit();
        
      }
      catch (SIException e)
      {
        FFDCFilter.processException(
         e,
         "com.ibm.ws.sib.processor.proxyhandler.MultiMEProxyHandler.removeUnusedNeighbours",
         "1:310:1.96",
         this);
         
        try
        {
          if (transaction!=null)
            transaction.rollback();
        }
        catch (SIException e1)
        {
          // FFDC
          FFDCFilter.processException(
            e1,
            "com.ibm.ws.sib.processor.proxyhandler.MultiMEProxyHandler.removeUnusedNeighbours",
            "1:324:1.96",
            this);
            
          SibTr.exception(tc, e1);      
        }
              
        SibTr.exception(tc, e);
        
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
          SibTr.exit(tc, "removeUnusedNeighbours", "SIErrorException"); 
        throw new SIErrorException(e);
      }
      finally 
      {
        _lockManager.unlockExclusive();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "removeUnusedNeighbours");
    }