Set<Foo> set = new HashSet<Foo>();
for(Foo f: set) {
    // ここで set を変更
}

で ConcurrentModificationException が出るときの解決案って

for(Foo f: set.toArray(new Foo[set.size()])) {
    // ここで set を変更
}

以外にどのようなものがありますか?