I've seen this a few times now: When a lot of processes are joining a group the coordinator
sometimes gets a ConcurrentModificationException in castViewChangeWithDest. The exception is always
in the handling of the TimeoutException while iterating over ack_collector.getMissing(). I think
the unicast receiver thread is updating the AckCollector during this iteration, causing the
"missing" list to be updated.
Synchronizing on the ack_collector everywhere in GMS seems to fix the problem, but maybe there's a
lighter weight solution.