code: private Config getMergedConfig(FlowEdge flowEdge)
        throws ExecutionException, InterruptedException {
      Config srcNodeConfig = this.flowGraph.getNode(flowEdge.getSrc()).getRawConfig().atPath(SOURCE_PREFIX);
      Config destNodeConfig = this.flowGraph.getNode(flowEdge.getDest()).getRawConfig().atPath(DESTINATION_PREFIX);
      Config mergedConfig = flowConfig.withFallback(flowEdge.getConfig()).withFallback(srcNodeConfig).withFallback(destNodeConfig);
      return mergedConfig;
    }
docs: Build the merged config for each {@link FlowEdge}, which is a combination of (in the precedence described below):
  <ul>
  <p> the user provided flow config </p>
  <p> edge specific properties/overrides </p>
  <p> source node config </p>
  <p> destination node config </p>
  </ul>
  Each {@link JobTemplate}'s config will eventually be resolved against this merged config.
  @param flowEdge An instance of {@link FlowEdge}.
  @return the merged config derived as described above.