Not that major an upgrade, but yeah finally putting AbstractDataStore classes to bed. I am still waiting for some downstream projects to check in (uDig and GeoMesa) before deleting these classes.
Trodden may be able to answer specific questions about the ContentDataStore implementation of MemoryDataStore (but North America is on holiday today).
I did not expect to find that features( typeName ) method. It goes a bit against the design of ContentDataStore - but I expect it was done in order to have a more direct port from the AbstractDataStore original.
What would be better? I would of done a MemoryContentEntry (already arranged in a Map by type name) each one of which containing its FeatureCollection. This same approach (subclass ContentEntry and ContentState) is what is done by JDBCDataStore and the ProperyDataStore tutorial.
As it is I think you have found your concurrent modification error, and we have a couple days left before the beta closes to fix it. Even if we keep/modify that Map we would need to document how it should be locked with respect to ContentState
--