docs: public void retrieveMatchingConsumerPoints(
      SIBUuid12 destUuid,
      SIBUuid8 cmUuid,
      JsMessage msg,
      MessageProcessorSearchResults searchResults) throws SIDiscriminatorSyntaxException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(
          tc,
          "retrieveMatchingConsumerPoints",
          new Object[] { destUuid, cmUuid, msg, searchResults });
  
      // Form a branch for the MatchSpace from a combination of the destination uuid and
      // the CM uuid
      String mSpacePrefix = destUuid.toString() +
                            MatchSpace.SUBTOPIC_SEPARATOR_CHAR +
                            cmUuid.toString();
  
      //Retrieve the set of wrapped consumer points from the matchspace
      try
      {
        // Set up Results object to hold the results from the MatchSpace traversal
        searchResults.reset();
  
        // Set up an evaluation cache (need to keep one of these per thread. Newing up is expensive)
        EvalCache cache = _matching.createEvalCache();
        String discriminator = msg.getDiscriminator();
        if (discriminator != null)
        {
          try
          {
  
            _syntaxChecker.checkEventTopicSyntax(discriminator);
            String theTopic = buildSendTopicExpression(mSpacePrefix, discriminator);
  
            search(theTopic, // keyed on destination name
             (MatchSpaceKey) msg, cache, searchResults);
  
          }
          catch (InvalidTopicSyntaxException e)
          {
            // No FFDC code needed
  
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "retrieveMatchingConsumerPoints", e);
  
            throw new SIDiscriminatorSyntaxException(
              nls.getFormattedMessage(
                "INVALID_TOPIC_ERROR_CWSIP0372",
                new Object[] { discriminator },
                null));
          }
  
        }
        else
        {
          //no discriminator
          search(mSpacePrefix, // keyed on destination name/concumer manager combo
           (MatchSpaceKey) msg, cache, searchResults);
  
        }
  
      }
      catch (BadMessageFormatMatchingException e)
      {
        // FFDC
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.matching.MessageProcessorMatching.retrieveMatchingConsumerPoints",
          "1:759:1.117.1.11",
          this);
  
        SibTr.exception(tc, e);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "retrieveMatchingConsumerPoints", e);
  
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] {
            "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
            "1:770:1.117.1.11",
            e });
  
        throw new SIErrorException(
          nls.getFormattedMessage(
            "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
              "1:778:1.117.1.11",
              e },
            null),
          e);
      }
      catch (MatchingException e)
      {
        // FFDC
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.matching.MessageProcessorMatching.retrieveMatchingConsumerPoints",
          "1:789:1.117.1.11",
          this);
  
        SibTr.exception(tc, e);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "retrieveMatchingConsumerPoints", "SIErrorException");
  
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] {
            "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
            "1:800:1.117.1.11",
            e });
  
        throw new SIErrorException(
          nls.getFormattedMessage(
            "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
              "1:808:1.117.1.11",
              e },
            null),
          e);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "retrieveMatchingConsumerPoints");
  
    }