Guava MultiMap и ConcurrentModificationException [дубликаты]

На этот вопрос уже есть ответ:

Итерация по Коллекции, исключение ConcurrentModificationException при удалении объектов в цикле 23 ответа Почему выброшено исключение ConcurrentModificationException и как его отладить 6 ответов

Я не понимаю, почему я получаю исключение ConcurrentModificationException, когда я повторяю этоmultimap. Я прочитал следующее Запись, но я не уверен, понял ли я все это. Я попытался добавить синхронизированный блок. Но я сомневаюсь, что синхронизировать и когда.

Themultimap - это поле, созданное следующим образом:

private Multimap<GenericEvent, Command> eventMultiMap =   
   Multimaps.synchronizedMultimap(HashMultimap.<GenericEvent, Command> create());

и использовал так:

eventMultiMap.put(event, command);

и так (я пытался синхронизировать эту часть на карте, но безуспешно)

for (Entry<GenericEvent, Command> entry : eventMultiMap.entries()) {
    if (entry.getValue().equals(command)) {
        eventMultiMap.remove(entry.getKey(), entry.getValue());
        nbRemoved++;
    }
}

Ответы на вопрос(5)

Ваш ответ на вопрос