docs: private void buildDiscriminatorNodes(DiscriminatorNode node) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "buildDiscriminatorNodes: " + node);
          }
          DiscriminatorNode dn = node;
          if (dn == null) {
              return;
          }
          DiscriminatorNode newDN = null, lastDN = null;
          discriminators = new DiscriminatorNode(dn.disc, dn.weight, null, null);
          discAL.add(dn.disc);
          Channel chan = dn.disc.getChannel();
          addChannel(chan);
          newDN = discriminators;
          lastDN = discriminators;
          while (dn.next != null) {
              dn = dn.next;
              newDN = new DiscriminatorNode(dn.disc, dn.weight, null, lastDN);
              lastDN.next = newDN;
              lastDN = newDN;
              discAL.add(dn.disc);
              chan = dn.disc.getChannel();
              addChannel(chan);
          }
      }