In FlowControllerFactory shouldn't the createSharedFlow() method be synchronized so we don't actually end up creating multiple version of the shared flow? Maybe I missed the synchronization point. My understanding is that we store the shared flows in the session, but there is a space in time where multiple threads could see the fact that the shared flow hasn't been created and start the creation process. The last thread through the process will end up creating the shared flow that then remains in the session. I might be missing something here.
Daryl
