Hi I just pushed a new branch removing ModuleEntityStoreUnitOfWork.
After reading some code I found that Module was almost unused within the EntityStoreUnitOfWorks - after a recent bugfix by Niclas we usually supply the module as argument instead of using instance variables. The only usage left was for concurrency checking - The module was used for deserializing current persistent state and extracting the current version from it. Instead I added EntityStoreUnitOfWork#versionOf(EntityReference) and EntityStoreSPI#versionOf( EntityStoreUnitOfWork, EntityReference) since those can be implemented without deserializing and thus without using any module. That allowed to get rid of ModuleEntityStoreUnitOfWork altogether. I believe it to be a nice simplification - it is sometimes hard to see when a module is used as "the calling module" and when it is "the-module-holding-the-entity". The changes are committed to a separate branch module_entitystore_uow and pushed - to avoid collisions with the current streaming effort. Feel free to take a look and comment. If noone objects, i will try to merge it, some time after the streaming effort is completed. /Kent
