I saw in order to extract storage to its own module you introduced a dependency on the "message" package (BodyFactory) while previously it depended only on the core packages and "dom" API.
I'm not saying this is a bad thing, but I'm recording this is another "code" that is no more using the dom api and instead relay on the specific implementation. IIRC mime4j 0.6 by default used temporary files to store bodies whenever the body was large (switchable through the use of a system property). Instead with your latest changes mime4j uses in memory byte arrays unless the user provides a custom "BodyFactory" implementation to the MessageServiceFactory. This change in the default way mime4j deals with parsing and memory/storage is something that deserved its own thread as it's not a API refactoring like the others. Some TODO in case we keep this change: 1) Javadocs still refer to StorageProvider wherever you replaced it with the BodyFactory. 2) Improve release notes to explain what people have to do to keep 0.6 storage behaviour (thresholdstorage) or keep using their system property. Stefano PS: Please remember to use issue number in svn commit (so that it is easier to review what are the svn changes related to MIME4J-131)
