ConcurrentModificationException Woes [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Interando a través de una Colección, evitando ConcurrentModificationException al eliminar objetos en un bucle 23 respuestas

Tengo una prueba de método (), en la que intento comparar dos LinkedHashMaps entre sí y modificar el contenido de uno de los mapas eliminando el par clave / valor si se encuentra en ambos LHM. Sigo recibiendo una ConcurrentModificationException cuando ejecuto este método. Entiendo POR QUÉ obtengo la excepción (ya que estoy tratando de modificar la lista que se está pasando). Sin embargo, no estoy seguro de cómo proceder con esto. Tengo este código hasta ahora:

private void test() { ,   

LinkedHashMap<String, BigDecimal>testBene = new LinkedHashMap<String, BigDecimal>();
LinkedHashMap<String, BigDecimal>testDly = new LinkedHashMap<String, BigDecimal>();

testBene.put("ABCDEFG", BigDecimal.ZERO);
testBene.put("BCDEFGH", BigDecimal.ONE);
testBene.put("CDEFGHI", BigDecimal.TEN);

testDly.put("BCDEFGH", BigDecimal.ONE);
testDly.put("Foo", BigDecimal.TEN);
testDly.put("Bar", BigDecimal.TEN);

for (Entry<String, BigDecimal> beneKeySet : testBene.entrySet()) {
    if (testDly.containsKey(beneKeySet.getKey())) {
        for (Entry<String, BigDecimal> dlyKeySet : testDly.entrySet()) {
            if ((dlyKeySet.getKey().equals(beneKeySet.getKey())) && 
                dlyKeySet.getValue().equals(beneKeySet.getValue())) {
                    testBene.remove(dlyKeySet.getKey());
            }
        }
    }
}

}

Respuestas a la pregunta(4)

Su respuesta a la pregunta