code: public Dag<JobExecutionPlan> asDag(Config sysConfig) throws SpecNotFoundException, JobTemplate.TemplateException, URISyntaxException {
      Dag<JobExecutionPlan> flowDag = new Dag<>(new ArrayList<>());
  
      for (List<FlowEdgeContext> path: paths) {
        Dag<JobExecutionPlan> pathDag = new Dag<>(new ArrayList<>());
        Iterator<FlowEdgeContext> pathIterator = path.iterator();
        while (pathIterator.hasNext()) {
          Dag<JobExecutionPlan> flowEdgeDag = convertHopToDag(pathIterator.next(), sysConfig);
          pathDag = concatenate(pathDag, flowEdgeDag);
        }
        flowDag = flowDag.merge(pathDag);
      }
      return flowDag;
    }
docs: A method to convert a path of {@link FlowEdgeContext}s into a {@link Dag<JobExecutionPlan>}.
  @param sysConfig containing environment config (e.g. metric/tracking event config) to be added to each {@link JobSpec}.
  @return a {@link Dag<JobExecutionPlan>}
  @throws SpecNotFoundException
  @throws JobTemplate.TemplateException
  @throws URISyntaxException