When calculating the size of the cache entries for a Group, a ConcurrentModificationException can occur (when the group is changed by another thread, while the statistics are being calculated:
Making bits of code synchronized probably won't do, as the collections are iterated over in the inline classes that extend from an abstract that's not thread safe.
Copying the sets before iterating over them still would involve iterating over the collection, that might be modified at at time (although chances are slimmer, as we're not otherwise operating on the data).
Should we use a weakly consistent instead of a fail-fast, implementation? That'd introduce performance changes.