Michael Melusky wrote:From the javadoc, Sun states that the synchronization block around the iterator is needed, even though the map itself isn't being accessed/mutated...
Well, if the iterator were an iterator over the map, I would agree that would be a relevant (and important) piece of advice. But the iterator comes from an ArrayList, not from the map. So the map isn't involved in that synchronized block in any way whatsoever. And so that advice is not applicable.