I think this is problematic in the parallel case. If many parallel tasks are in `close()`at the same time, they will concurrently add elements, which causes a `ConcurrentModificationException`.

You need to synchronize around the target list here.