Этот фрагмент блока кода выбрасывает ConcurrentModificationException
, хотя ни один элемент не добавлен или не удален, я даже синхронизировал блок, и есть только один экземпляр содержащего класса. Кто-нибудь может предложить что-нибудь, пожалуйста?
synchronized (HttpPlatform.lock) {
while(servicesIterator.hasNext()) {
Service service = servicesIterator.next(); // getting error from this line
for(FixedBonusConfig config : configsForEName) {
if((service.getCategory() != null && service.getCategory().equals(config.getCategory()) || config.getCategory().equals("Any")) &&
(service.getServiceline() != null && service.getServiceline().equals(config.getServiceline()) || config.getServiceline().equals("Any")) &&
(service.getTariffplan() != null && service.getTariffplan().equals(config.getTariff()) || config.getTariff().equals("Any")) &&
!isFraud(service, config)) {
if(config.getFixed_bonus() > highestBonus) {
highestBonus = config.getFixed_bonus();
highestYeildingConfig = config;
}
}
}
}
}