iteratorで要素を順次処理する中でiteratorの元のコレクションに要素の追加が発生する場合、
ちゃんと同期させるにはどう書けば良いんでしょうか?

synchronized(list){
Iterator<Object> objI = list.iterator();
while(objI.hasNext()){
objI.next().proc();
}
}

みたいにやるとConcurrentModificationExceptionが発生します。
proc()の中でlistへの追加が発生するという状況です。
新たに追加された要素はこのiteratorでは無視したいんです。