docs: public void addTopicAcl(SIBUuid12 destName, TopicAcl acl)
      throws
        SIDiscriminatorSyntaxException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "addTopicAcl", new Object[] { destName, acl });
  
      String discriminator = null;
      // Postpend # wildcard to the fully qualified topic supplied
      // TO DO check the topicsyntax
  
      String theTopic = "";
      if(destName != null)
      {
        String destNameStr = destName.toString();
        theTopic = buildAddTopicExpression(destNameStr, acl.getTopic());
      }
  
      // Careful, only do this if the original topic is not null
      if(acl.getTopic() != null)
      {
        discriminator = theTopic + "//.";
      }
      else
      {
        discriminator = theTopic;
      }
  
      // Put the acl into the matchspace
      try
      {
        addTarget(acl, // N.B we use the raw CP as key
                discriminator, // wildcarded topic expression
                null, // selector string
                null, // selector domain
                null, // this'll pick up the default resolver
                acl,
                null,
                null); // selector properties
      }
      catch (QuerySyntaxException e)
      {
        // No FFDC code needed
      }
      catch (InvalidTopicSyntaxException e)
      {
        // No FFDC code needed
  
        SibTr.exception(tc, e);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "addTopicAcl", "SIDiscriminatorSyntaxException");
  
        throw new SIDiscriminatorSyntaxException(
          nls.getFormattedMessage(
            "INVALID_TOPIC_ERROR_CWSIP0372",
            new Object[] { theTopic },
            null));
      }
      catch (MatchingException e)
      {
        // FFDC
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.matching.MessageProcessorMatching.addTopicAcl",
          "1:1954:1.117.1.11",
          this);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "addTopicAcl", "SIErrorException");
  
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] {
            "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
            "1:1962:1.117.1.11",
            e });
  
        throw new SIErrorException(
          nls.getFormattedMessage(
            "INTERNAL_MESSAGING_ERROR_CWSIP0002",
            new Object[] {
              "com.ibm.ws.sib.processor.matching.MessageProcessorMatching",
              "1:1970:1.117.1.11",
              e },
            null),
          e);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "addTopicAcl");
    }