ruleExec.enableTransformTracing( transformPath );
PlannerContext plannerContext = new PlannerContext( ruleRegistry, this, flowDef, flow, transformPath != null );
RuleResult ruleResult = ruleExec.exec( plannerContext, flowElementGraph );
LOG.info( "executed rule registry: {}, completed in: {}", ruleRegistry.getName(), formatDurationFromMillis( ruleResult.getDuration() ) );
writeTracePlan( nameOrID, "1-completed-flow-element-graph", ruleResult.getAssemblyGraph() );
writeStats( plannerContext, nameOrID, ruleResult );
verifyResult( ruleResult );
FlowElementGraph finalFlowElementGraph = ruleResult.getAssemblyGraph();
Map<ElementGraph, List<? extends ElementGraph>> stepToNodes = ruleResult.getStepToNodeGraphMap();
Map<ElementGraph, List<? extends ElementGraph>> nodeToPipeline = ruleResult.getNodeToPipelineGraphMap();
FlowStepGraph flowStepGraph = new FlowStepGraph( transformPath, this, finalFlowElementGraph, stepToNodes, nodeToPipeline );
writeTracePlan( nameOrID, "2-completed-flow-step-graph", flowStepGraph );