code: final void setFRP(List<SIDestinationAddress> value) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "setFRP", value);
  
          if (value == null) {
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_DESTINATIONNAME, null);
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_MEID, null);
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATHLOCALONLY, null);
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_BUSNAME, null);
          } else {
              // The List provided should either be one of our RoutingPathList objects or
              // a standard Java List containing (non-null) SIDestinationAddress elements.
              // If it's the latter we just create a RoutingPathList to wrap it.
              RoutingPathList rp;
              if (value instanceof RoutingPathList)
                  rp = (RoutingPathList) value;
              else
                  rp = new RoutingPathList(value);
  
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_DESTINATIONNAME, rp.getNames());
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_MEID, rp.getMEs());
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATHLOCALONLY, rp.getLocalOnlys());
              getHdr2().setField(JsHdr2Access.FORWARDROUTINGPATH_BUSNAME, rp.getBusNames());
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "setFRP");
      }
docs: /*
  Set the contents of the ForwardRoutingPath field in the message header.
  The field in the message must be set to a copy so that any updates to the
  original list are not reflected in the message.
  
  Javadoc description supplied by SIBusMessage interface.