That is exactly what you need to do when interating (see the javadoc http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#synchronizedList(java.util.List) ) and failure to follow this advice may result in non-deterministic behavior.