docs: protected void remoteSubscribeEvent(
      List topicSpaces,
      List topics,
      String busId, 
      Transaction transaction,
      boolean sendProxy) throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "remoteSubscribeEvent", new Object[] { topicSpaces, topics, busId, transaction});
  
      // Get the list of buses that this subscription needs to be forwarded
      // onto
      final BusGroup[] buses = _neighbours.getAllBuses();
  
      // Loop through each of the buses deciding if this
      // subscription event needs to be forwarded
      for (int i = 0; i < buses.length; ++i)
      {
        if (!buses[i].getName().equals(busId))
        {
          // Declaration of a message handler that can be used for 
          // building up the proxy subscription message to be forwarded.
          SubscriptionMessageHandler messageHandler = null;
  
          // Get the iterators for this message       
          final Iterator topicIterator = topics.listIterator();
          final Iterator tsIterator = topicSpaces.listIterator();
  
          // Iterate through each of the topics to decide if this needs
          // to be forwarded.
          while (topicIterator.hasNext())
          {
            final SIBUuid12 topicSpace = (SIBUuid12) tsIterator.next();
            final String topic = (String) topicIterator.next();
  
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              SibTr.debug(
                tc,
                "Forwarding topic " + topicSpace + topic + " to bus " + buses[i]);
  
            // Add this subscription to this buse.
            // This method call passes through the fact that this method can
            // only be called by a proxy subscription that was registered on this
            // ME
            messageHandler = 
              buses[i].addRemoteSubscription(topicSpace, topic, messageHandler, sendProxy);
          }
  
          // If the subscription message isn't null, then add it back into 
          // the list of subscription messages.
          if (messageHandler != null)
          {
            // Send to all the Neighbours in this buse
            buses[i].sendToNeighbours(
              messageHandler.getSubscriptionMessage(),
              transaction,
              false);
  
            addMessageHandler(messageHandler);
  
            messageHandler = null;
          }
        }
      }
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "remoteSubscribeEvent");
    }