private FlowRunner createFlowRunner(String flowName, HashMap<String, String> flowParams)
      throws Exception {
    Flow flow = flowMap.get(flowName);

    int exId = id++;
    ExecutableFlow exFlow = new ExecutableFlow(project, flow);
    exFlow.setExecutionPath(workingDir.getPath());
    exFlow.setExecutionId(exId);

    exFlow.getExecutionOptions().addAllFlowParameters(flowParams);
    fakeExecutorLoader.uploadExecutableFlow(exFlow);

    FlowRunner runner =
        new FlowRunner(
            fakeExecutorLoader.fetchExecutableFlow(exId),
            fakeExecutorLoader,
            fakeProjectLoader,
            jobtypeManager);
    return runner;
  }