ConcurrentModificationException даже при использовании Collections.sychronizedMap в LinkedHashMap [duplicate]

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

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

Я использую объект Map в своем классе, который я синхронизировал с Collections.synchronizedMap () для LinkedHashMap следующим образом:

private GameObjectManager(){
        gameObjects = Collections.synchronizedMap(new LinkedHashMap<String, GameObject>());
}

В третьей строке этой функции я получаю исключение одновременной модификации:

public static void frameElapsed(float msElapsed){
    if(!INSTANCE.gameObjects.isEmpty()){
        synchronized(INSTANCE.gameObjects){
            for(GameObject object : INSTANCE.gameObjects.values()){...}
        }
    }
}

Во всех других местах, где я перебираю карту, я синхронизируюсь на карте в соответствии с документами.

В моем классе есть другие функции, которые используют эту Карту (синхронизированную!), И они помещают () и удаляют () объекты, но это не должно иметь значения. Что я делаю не так? Пожалуйста, попросите больше кода, не уверен, что еще поставить.

Ой, и сообщение журнала:

08-20 15:55:30.109: E/AndroidRuntime(14482): FATAL EXCEPTION: GLThread 1748
08-20 15:55:30.109: E/AndroidRuntime(14482): java.util.ConcurrentModificationException
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:350)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     java.util.LinkedHashMap$ValueIterator.next(LinkedHashMap.java:374)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     package.GameObjectManager.frameElapsed(GameObjectManager.java:247)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     package.GamekitInterface.render(Native Method)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     package.GamekitInterface.renderFrame(GamekitInterface.java:332)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     com.qualcomm.QCARSamples.ImageTargets.GameEngineInterface.onDrawFrame(GameEngineInterface.java:107)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
08-20 15:55:30.109: E/AndroidRuntime(14482):    at     android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

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

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