I have the following method:
private void houveAlteracao(Long id) {
try {
Objeto objeto = service.find(id);
objeto.setEventos(JsfUtils.ordenarListaEventosPorHora(objeto.getEventos()));
Objeto obj = popularObjeto(objeto.getCodigo());
obj.setEventos(JsfUtils.ordenarListaEventosPorHora(obj.getEventos()));
if (obj.getEventos().size() > objeto.getEventos().size()) {
for (Evento ev : obj.getEventos()) {
for (Evento e : objeto.getEventos()) {
if (!ev.getHorario().equals(e.getHorario())) {
objeto.getEventos().add(ev);
ev.setObjeto(objeto);
if (ev.getDestino() != null) {
ev.getDestino().setEvento(ev);
}
}
}
}
service.update(objeto);
pesquisar();
}
} catch (Exception e) {
e.printStackTrace();
}
}
The error is occurring:
13: 18: 23,335 ERROR [stderr] (default task-2) java.util.ConcurrentModificationException
13: 18: 23,336 ERROR [stderr] (default task-2) at java.util.ArrayList $ Itr.checkForComification (ArrayList.java:901)
13: 18: 23,337 ERROR [stderr] (default task-2) at java.util.ArrayList $ Itr.next (ArrayList.java:851)
I read that the error occurs because of changing a list in iteration, does anyone know how I can do it?