verifyAssembly( flowDef, tails );
configRuleRegistryDefaults( ruleRegistry );
RuleExec ruleExec = new RuleExec( ruleRegistry );
flowElementGraph = createFlowElementGraph( flowDef, tails );
writeTracePlan( nameOrID, "0-initial-flow-element-graph", flowElementGraph );
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() );