docs: public ChainDataImpl getExternalChainData() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(this, tc, "getExternalChainData");
          }
          // Create the list of the parents of the child data objects.
          ChannelData[] parents = new ChannelData[this.channelDataArray.length];
          for (int i = 0; i < parents.length; i++) {
              parents[i] = ((ChildChannelDataImpl) this.channelDataArray[i]).getParent();
          }
  
          ChainDataImpl externalChainData = null;
          try {
              externalChainData = new ChainDataImpl(getName(), getType(), parents, null);
          } catch (IncoherentChainException e) {
              // No FFDC Needed
              // This should never happen
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(this, tc, "Unable to build external version of chain data, " + getName());
              }
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(this, tc, "getExternalChainData");
          }
          return externalChainData;
      }