Flow first = firstFlow( path );
Flow second = secondFlow( first.getSink(), path );
Flow third = thirdFlow( second.getSink(), path );
Flow fourth = fourthFlow( third.getSink(), path );
ProcessFlow firstProcess = new ProcessFlow( "first", first );
ProcessFlow secondProcess = new ProcessFlow( "second", second );
ProcessFlow thirdProcess = new ProcessFlow( "third", third );
ProcessFlow fourthProcess = new ProcessFlow( "fourth", fourth );
LockingFlowListener flowListener = new LockingFlowListener();
secondProcess.addListener( flowListener );
Cascade cascade = new CascadeConnector().connect( fourthProcess, secondProcess, firstProcess, thirdProcess );