code: public static Probe frameProbeFrom(Probe p) throws ProbeSenderException {
      Probe fp = null;
      try {
        fp = new Probe(p.getProbeWrapper().getRespondToPayloadType());
      } catch (UnsupportedPayloadType e1) {
        throw new ProbeSenderException("Error in creating frame probe.", e1);
      }
  
      fp.setHopLimit(p.getHopLimit());
      fp.setClientID(p.getClientID());
      for (RespondToURL respondTo : p.getProbeWrapper().getRespondToURLs()) {
        try {
          fp.addRespondToURL(respondTo.getLabel(), respondTo.getUrl());
        } catch (MalformedURLException e) {
          throw new ProbeSenderException("Error in creating frame probe.", e);
        }
      }
      return fp;
  
    }
docs: Create a new probe from the argument that includes all the frame stuff
  (payload type, respondTo addr, etc) but don't include any of the contract
  or service ids. This method is a helper method for splitting over sized
  probes into smaller probes so that the packets are not too big for the
  network.
  
  @param p the source probe
  @return the probe frame
  @throws ProbeSenderException if something went wrong