docs: protected void recoverSubscriptions(MultiMEProxyHandler proxyHandler) throws MessageStoreException, SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "recoverSubscriptions", proxyHandler);
  
      iProxyHandler = proxyHandler;
  
      iProxies = new Hashtable();
  
      NonLockingCursor cursor = null;
      try
      {
        cursor = newNonLockingItemCursor(new ClassEqualsFilter(MESubscription.class));
  
        AbstractItem item = null;
        while ((item = cursor.next()) != null)
        {
          MESubscription sub = null;
            sub = (MESubscription)item;
  
          // Generate a key for the topicSpace/topic
          final String key = BusGroup.subscriptionKey(sub.getTopicSpaceUuid(),
                                                         sub.getTopic());
  
          // Add the Neighbour into the list of recovered Neighbours
          iProxies.put(key, sub);
  
          // Having created the Proxy, need to readd the proxy to the matchspace or just reference it.
          iNeighbours.createProxy(this,
                                  iDestinationManager.getDestinationInternal(sub.getTopicSpaceUuid(), false),
                                  sub,
                                  sub.getTopicSpaceUuid(),
                                  sub.getTopic(),
                                  true);
  
          // When recovering subscriptions, we need to call the event post commit
          // code to either add a reference, or put in the MatchSpace.
          sub.eventPostCommitAdd(null);
  
        }
      }
      finally
      {
        if (cursor != null)
          cursor.finished();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "recoverSubscriptions");
    }