Java Essentials: Preventing ConcurrentModificationException
codebyamir.com