docs: static public String serialize(CFEndPoint point) throws NotSerializableException {
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "serialize");
          }
          if (null == point) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Null CFEndPoint input for serialization");
              }
              throw new NotSerializableException("Null input");
          }
          // start the end point with name/host/port
          StringBuilder buffer = new StringBuilder(512);
          buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "Serializing endpoint: " + point.getName());
          }
          buffer.append("<cfendpoint name=\"");
          buffer.append(point.getName());
          buffer.append("\" host=\"");
          buffer.append(point.getAddress().getCanonicalHostName());
          buffer.append("\" port=\"");
          buffer.append(point.getPort());
          buffer.append("\" local=\"");
          buffer.append(point.isLocal());
          buffer.append("\" ssl=\"");
          buffer.append(point.isSSLEnabled());
          buffer.append("\">\n");
          // loop through each channel in the list
          int i = 0;
          for (OutboundChannelDefinition def : point.getOutboundChannelDefs()) {
              buffer = serializeChannel(buffer, def, i++);
          }
          buffer.append("</cfendpoint>");
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "Serialized string: \n" + buffer.toString());
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "serialize");
          }
          return buffer.toString();
      }