* the "main" flow to test. May also be called by subclasses to create subflow definitions whose executions should
* also be exercised by this test.
* @return the built flow definition, ready for execution
*/
protected final Flow buildFlow() {
FlowDefinitionResource resource = getResource(getResourceFactory());
flowBuilderContext = new MockFlowBuilderContext(resource.getId(), resource.getAttributes());
configureFlowBuilderContext(flowBuilderContext);
FlowBuilder builder = createFlowBuilder(resource);
FlowAssembler assembler = new FlowAssembler(builder, flowBuilderContext);
return assembler.assembleFlow();
}