Estou com um problema aqui, que não é nem referente ao padrão de projeto em si, mas em uma parte da implementação.
Essa parte do meu código esta errada, imagino eu: ```public List filtra(List contas) { Calendar dataAtual = Calendar.getInstance();
Iterator iterator = contas.iterator(); while (iterator.hasNext()) { Conta c2 = iterator.next(); if (c2.getDataCriacao().get(Calendar.MONTH) == dataAtual .get(Calendar.MONTH) && c2.getDataCriacao().get(Calendar.YEAR) == dataAtual .get(Calendar.YEAR)) contas.remove(c2);
}
return (filtro == null ? contas : filtro.filtra(contas));
}O problema se da na linha
Conta c2 = iterator.next();```
Quando eu passo por esta lógica com alguma Conta criada neste mês, ele me da a exception java.util.ConcurrentModificationException.
Eu pesquisei e sei que tem algo a ver com a iteração sobre a minha Lista... eu remover um objeto dela durante a iteração, algo assim.
Mas não sei exatamente o porque. Alguem pode ajudar?