docs: public void retrieveNonSelectorConsumers(
      DestinationHandler topicSpace,
      String discriminatorExpression,
      Set localConsumers,
      Set remoteConsumers)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.entry(
            tc,
            "retrieveNonSelectorConsumers",
            new Object[] { topicSpace, discriminatorExpression });
  
      // Get the uuid for the topicspace
      SIBUuid12 topicSpaceUuid = topicSpace.getBaseUuid();
      String topicSpaceStr = topicSpaceUuid.toString();
      String theTopic = null;
  
      try
      {
        // If fully qualified drive a dummy publication against the MatchSpace
        MatchSpaceKey msk = new DiscriminatorMatchSpaceKey(discriminatorExpression);
  
        // Combine the topicSpace and topic
        theTopic = buildSendTopicExpression(topicSpaceStr, discriminatorExpression);
  
        // Get a search results object to use
        MessageProcessorSearchResults searchResults =
          (MessageProcessorSearchResults)_messageProcessor.
             getSearchResultsObjectPool().
             remove();
  
        // Set up Results object to hold the results from the MatchSpace traversal
        searchResults.reset();
  
        // Set a reference to the destination into the search results
        // This is used to avoid ACL checks where a topicspace does not require access
        // checks (e.g admin flag set, temporary topicspace, etc)
        if(_isBusSecure)
        {
          searchResults.setTopicSpace(topicSpace);
        }
  
        // Set up an evaluation cache (need to keep one of these per thread. Newing up is expensive)
        EvalCache cache = _matching.createEvalCache();
  
        search(theTopic, // keyed on destination name
               msk,
               cache,
               searchResults);
  
        // MatchSpace searching is complete, add any matching consumers to the
        // Sets
        Object allResults[] = searchResults.getResults(theTopic);
        localConsumers.addAll(
                (Set)allResults[MessageProcessorMatchTarget.JS_SUBSCRIPTION_TYPE]);
        remoteConsumers.addAll(
                (Set)allResults[MessageProcessorMatchTarget.JS_NEIGHBOUR_TYPE]);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
        {
          SibTr.debug(tc, "Found " + localConsumers.size() + " local consumers and " +
                          remoteConsumers.size() + "remote consumers in MatchSpace search");
        }
  
        // Return search results object to cache
        _messageProcessor.getSearchResultsObjectPool().add(searchResults);
  
      }
      catch (BadMessageFormatMatchingException e)
      {
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.matching.MessageProcessorMatching.retrieveNonSelectorConsumers",
          "1:2439:1.117.1.11",
          this);
  
        SibTr.exception(tc, e);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "retrieveNonSelectorConsumers", e);
  
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] {
            "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
            "1:2450:1.117.1.11",
            e });
  
        throw new SIErrorException(
          nls.getFormattedMessage(
            "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
              "1:2458:1.117.1.11",
              e },
             null),
          e);
  
      }
      catch (MatchingException e)
      {
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.matching.MessageProcessorMatching.retrieveNonSelectorConsumers",
          "1:2469:1.117.1.11",
          this);
         SibTr.exception(tc, e);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "retrieveNonSelectorConsumers", e);
  
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] {
            "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
            "1:2479:1.117.1.11",
            e });
         throw new SIErrorException(
          nls.getFormattedMessage(
            "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
              "1:2486:1.117.1.11",
              e },
            null),
          e);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "retrieveNonSelectorConsumers");
    }