docs: public void destinationLocationChange (SIBUuid12 destId, Set additions, Set deletions, Capability capability)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "destinationLocationChange",
          new Object[]{destId, additions, deletions, capability});
  
      BaseDestinationHandler destinationHandler =
        (BaseDestinationHandler) _destinationManager.getDestinationInternal(destId, false);
  
      if (destinationHandler != null)
      {
  
        // Check if the localisation should be deleted
        Set localitySet = getDestinationLocalitySet(destinationHandler, capability);
        
        synchronized(destinationHandler)
        {
          // d526250 - If a remote destination is deleted then its ME stopped we might
          // get a trm notification in. Meanwhile, admin has told us to delete the dest
          // already. If we dont do the following we end up performing cleanup on a 
          // dest that no longer exists and we get nullpointers.
          if (!destinationHandler.isToBeDeleted())
          {
            // Process deletions from the WLM set for the destination
            // (No requirement to react to additions)
            Iterator i = deletions.iterator();
    
            while(i.hasNext())
            {
              SIBUuid8 meUuid = (SIBUuid8) i.next();
    
              //No point reacting to our own ME uuid
              if (!(meUuid.equals(_messageProcessor.getMessagingEngineUuid())))
              {
                PtoPMessageItemStream ptoPMessageItemStream;
    
                  ptoPMessageItemStream = destinationHandler.getXmitQueuePoint(meUuid);
    
                // Dont touch a localisation that doesnt exist
                if (ptoPMessageItemStream != null)
                {
                  if ((localitySet == null) || !localitySet.contains(meUuid.toString()))
                  {
                    // The localisation is not known in WCCM or WLM, so mark it for deletion
                    cleanupDestination(ptoPMessageItemStream, 
                        destinationHandler,
                        meUuid,
                        capability);
                  }
                }
              }
            }
  
            if (capability != Capability.GET)
            {
              // Reallocate the transmitQs to evenly spread messages
              destinationHandler.requestReallocation();
            }
          }
        }
      }
      
      // Iterate over the registered MP listeners and alert them to the location change
      for (int i = 0; i < _destinationChangeListeners.size(); i++)
      {
        MPDestinationChangeListener listener = _destinationChangeListeners.get(i);
        if (listener != null)
          listener.destinationLocationChange(destId, additions, deletions, capability);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "destinationLocationChange");
  
      return;
    }