Generally java.util.ConcurrentModificationException will occur when one thread to modify a Collection while another thread is iterating over it. Please check your code with this viewpoint. Below approach can be considered.
 Copy the collection object to be modified
 Modify the collection object inside the synchronized block
You've gotta fight it! Don't give in! Read this tiny ad:
RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database